-
Notifications
You must be signed in to change notification settings - Fork 4
/
timonier-version.el
54 lines (40 loc) · 1.69 KB
/
timonier-version.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
;;; timonier.el --- Version tools for Timonier
;; Copyright (C) 2016 Nicolas Lamirault <[email protected]>
;; Licensed under the Apache License, Version 2.0 (the "License");
;; you may not use this file except in compliance with the License.
;; You may obtain a copy of the License at
;;
;; http://www.apache.org/licenses/LICENSE-2.0
;;
;; Unless required by applicable law or agreed to in writing, software
;; distributed under the License is distributed on an "AS IS" BASIS,
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
;; See the License for the specific language governing permissions and
;; limitations under the License.
;;; Commentary:
;;; Code:
(require 'dash)
(require 'pkg-info)
(require 's)
(defun timonier--library-version ()
"Get the version in the timonier library."
(-when-let (version (pkg-info-library-version 'timonier))
(pkg-info-format-version version)))
;;;###autoload
(defun timonier-version (&optional show-version)
"Get the timonier version as string.
If called interactively or if SHOW-VERSION is non-nil, show the
version in the echo area and the messages buffer.
The returned string includes both, the version from package.el
and the library version, if both a present and different.
If the version number could not be determined, signal an error,
if called interactively, or if SHOW-VERSION is non-nil, otherwise
just return nil."
(interactive (list (not (or executing-kbd-macro noninteractive))))
(let* ((version (timonier--library-version)))
(unless version
(error "Could not find out timonier version"))
(message "timonier %s" version)
version))
(provide 'timonier-version)
;;; timonier-version.el ends here