-
Notifications
You must be signed in to change notification settings - Fork 30
/
gitlab-version.el
54 lines (41 loc) · 1.86 KB
/
gitlab-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
;;; gitlab-version.el --- Gitlab Emacs client version
;; Copyright (C) 2014, 2015, 2016 Nicolas Lamirault <[email protected]>
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License
;; as published by the Free Software Foundation; either version 2
;; of the License, or (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
;; 02110-1301, USA.
;;; Commentary:
;;; Code:
(require 'dash)
(require 'pkg-info)
(require 's)
(defun gitlab--library-version ()
"Get the version in the emacs-gitlab client header."
(-when-let (version (pkg-info-library-version 'gitlab))
(pkg-info-format-version version)))
;;;###autoload
(defun gitlab-version (&optional show-version)
"Get the gitlab 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 (gitlab--library-version)))
(unless version
(error "Could not find out gitlab version"))
(message "gitlab %s" version)
version))
(provide 'gitlab-version)
;;; gitlab-version.el ends here