Add ‘oni-conf’ and the ability to upload multi-file packages
‘oni-conf’ is the first package to include more than one file, it’s mostly a package to allow distributing snippets.
This commit is contained in:
parent
2d05019aa6
commit
58caf38935
6 changed files with 92 additions and 1 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/*/.cask/
|
||||||
|
/*/bin/
|
||||||
|
/*/dist/
|
|
@ -2,6 +2,7 @@ image: silex/emacs:26.1-alpine-dev
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
|
- pre-package-multifile
|
||||||
- package
|
- package
|
||||||
- deploy
|
- deploy
|
||||||
|
|
||||||
|
@ -25,8 +26,20 @@ test-oni-php:
|
||||||
stage: test
|
stage: test
|
||||||
script: make test-oni-php DEPS="oni-flycheck oni-company oni-fci"
|
script: make test-oni-php DEPS="oni-flycheck oni-company oni-fci"
|
||||||
|
|
||||||
|
package-oni-conf:
|
||||||
|
stage: pre-package-multifile
|
||||||
|
before_script:
|
||||||
|
- rm -rf oni-conf/dist
|
||||||
|
script:
|
||||||
|
- cask --path oni-conf package
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- oni-conf/dist/
|
||||||
|
|
||||||
package:
|
package:
|
||||||
stage: package
|
stage: package
|
||||||
|
dependencies:
|
||||||
|
- package-oni-conf
|
||||||
before_script:
|
before_script:
|
||||||
- rm -rf bin/
|
- rm -rf bin/
|
||||||
- mkdir bin/
|
- mkdir bin/
|
||||||
|
|
|
@ -2,7 +2,7 @@ FILES := $(wildcard *.el)
|
||||||
|
|
||||||
PACKAGE_TARGETS := $(addprefix package-,$(FILES))
|
PACKAGE_TARGETS := $(addprefix package-,$(FILES))
|
||||||
|
|
||||||
package: $(PACKAGE_TARGETS)
|
package: $(PACKAGE_TARGETS) package-oni-conf
|
||||||
|
|
||||||
package-%: %
|
package-%: %
|
||||||
emacs --batch \
|
emacs --batch \
|
||||||
|
@ -10,6 +10,12 @@ package-%: %
|
||||||
--funcall package-initialize \
|
--funcall package-initialize \
|
||||||
--eval '(package-upload-file "$^")'
|
--eval '(package-upload-file "$^")'
|
||||||
|
|
||||||
|
package-oni-conf:
|
||||||
|
emacs --batch \
|
||||||
|
--load oni-package.el \
|
||||||
|
--funcall package-initialize \
|
||||||
|
--eval '(package-upload-file (car (file-expand-wildcards "oni-conf/dist/*.tar")))'
|
||||||
|
|
||||||
test-%:
|
test-%:
|
||||||
emacs --batch \
|
emacs --batch \
|
||||||
--load oni-package.el \
|
--load oni-package.el \
|
||||||
|
|
10
oni-conf/Cask
Normal file
10
oni-conf/Cask
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
(source gnu)
|
||||||
|
(source melpa)
|
||||||
|
|
||||||
|
(package-file "./oni-conf.el")
|
||||||
|
|
||||||
|
(depends-on "oni-yasnippet" :git "../" :files ("oni-yasnippet.el"))
|
||||||
|
|
||||||
|
(files
|
||||||
|
"*.el"
|
||||||
|
("snippets" "./snippets/*"))
|
51
oni-conf/oni-conf.el
Normal file
51
oni-conf/oni-conf.el
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
;;; oni-conf.el --- Conf-mode configuration -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;; Copyright (C) 2019 Tom Willemse
|
||||||
|
|
||||||
|
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||||
|
;; Keywords: local
|
||||||
|
;; Version: 20190613083458
|
||||||
|
;; Package-Requires: (oni-yasnippet)
|
||||||
|
|
||||||
|
;; 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 3 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, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; Configuration for the different ‘conf-mode’ variations.
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(require 'yasnippet)
|
||||||
|
|
||||||
|
(defconst oni-conf-root
|
||||||
|
(file-name-directory
|
||||||
|
(or load-file-name
|
||||||
|
(buffer-file-name)))
|
||||||
|
"The directory where ‘oni-conf’ was loaded from.")
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(defun oni-conf-snippets-initialize ()
|
||||||
|
"Initialize the snippets for ‘oni-conf’."
|
||||||
|
(let ((snippets-dir (expand-file-name "snippets" oni-conf-root)))
|
||||||
|
(when (boundp 'yas-snippet-dirs)
|
||||||
|
(add-to-list 'yas-snippet-dirs snippets-dir t))
|
||||||
|
(yas-load-directory snippets-dir)))
|
||||||
|
|
||||||
|
;;;###autoload
|
||||||
|
(with-eval-after-load 'oni-conf
|
||||||
|
(with-eval-after-load 'yasnippet
|
||||||
|
(oni-conf-snippets-initialize)))
|
||||||
|
|
||||||
|
(provide 'oni-conf)
|
||||||
|
;;; oni-conf.el ends here
|
8
oni-conf/snippets/section
Normal file
8
oni-conf/snippets/section
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# -*- mode: snippet; require-final-newline: nil -*-
|
||||||
|
# name: Xorg Section
|
||||||
|
# key: Section
|
||||||
|
# --
|
||||||
|
Section "$1"
|
||||||
|
Identifier "$2"
|
||||||
|
$0
|
||||||
|
EndSection
|
Loading…
Reference in a new issue