diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/skels/jao-skel-asdf.el | 2 | ||||
| -rw-r--r-- | lib/skels/jao-skel-caml.el | 6 | ||||
| -rw-r--r-- | lib/skels/jao-skel-cpp.el | 17 | ||||
| -rw-r--r-- | lib/skels/jao-skel-cppunit.el | 8 | ||||
| -rw-r--r-- | lib/skels/jao-skel-geiser.el | 10 | ||||
| -rw-r--r-- | lib/skels/jao-skel-haskell.el | 8 | ||||
| -rw-r--r-- | lib/skels/jao-skel-latex.el | 4 | ||||
| -rw-r--r-- | lib/skels/jao-skel-lisp.el | 8 | ||||
| -rw-r--r-- | lib/skels/jao-skel-make.el | 6 | ||||
| -rw-r--r-- | lib/skels/jao-skel-perl.el | 16 | ||||
| -rw-r--r-- | lib/skels/jao-skel-python.el | 6 | ||||
| -rw-r--r-- | lib/skels/jao-skel-readme.el | 2 | ||||
| -rw-r--r-- | lib/skels/jao-skel-texinfo.el | 12 | ||||
| -rw-r--r-- | lib/skels/jao-skel.el | 118 | 
14 files changed, 80 insertions, 143 deletions
diff --git a/lib/skels/jao-skel-asdf.el b/lib/skels/jao-skel-asdf.el index 132d780..71c1bad 100644 --- a/lib/skels/jao-skel-asdf.el +++ b/lib/skels/jao-skel-asdf.el @@ -27,7 +27,7 @@  (define-skeleton jao-skel-asdf-file    "ASDF file header"    "Description: " -  '(setq sys (jao-basename)) +  '(setq sys (jao-skel-basename))    '(lisp-mode)    ";; -*- lisp -*- " sys " definition"    \n \n diff --git a/lib/skels/jao-skel-caml.el b/lib/skels/jao-skel-caml.el index 32e7257..33e9b03 100644 --- a/lib/skels/jao-skel-caml.el +++ b/lib/skels/jao-skel-caml.el @@ -33,12 +33,12 @@    "Brief description: "    "(* " (file-name-nondirectory (buffer-file-name)) ": " str " *)"    > \n \n -  (jao-copyright-line "(* " " *)") +  (jao-skel-copyright-line "(* " " *)")    > ?\n -  (jao-insert-copyright-file) +  (jao-skel-insert-license)    "(* $" "Id$ *)" \n \n _) -(jao-provide-skel "\\.ml[i]?" 'jao-skel-caml-file) +(jao-skel-install "\\.ml[i]?" 'jao-skel-caml-file)  (provide 'jao-skel-caml)  ;;; jao-skel-caml ends here diff --git a/lib/skels/jao-skel-cpp.el b/lib/skels/jao-skel-cpp.el index 9a57123..0ddb61e 100644 --- a/lib/skels/jao-skel-cpp.el +++ b/lib/skels/jao-skel-cpp.el @@ -56,7 +56,7 @@  (defun jao-skel-cpp-make-guard-name (ns)    "Create a standard include guard name"    (upcase (mapconcat #'identity -                     `(,@ns ,(jao-basename) ,(jao-extension) +                     `(,@ns ,(jao-skel-basename) ,(jao-skel-extension)                              ,(user-login-name)                              ,(format-time-string "%y%m%d%H%M"))                       "_"))) @@ -136,16 +136,16 @@    > \n    "*"    > \n -  (jao-copyright-line "* " "") +  (jao-skel-copyright-line "* " "")    "*"    > ?\n -  (jao-insert-copyright-file) +  (jao-skel-insert-license)    > \n \n _)  (define-skeleton jao-skel-cpp-header-brief    "Brief initial header blurb"    nil -  (jao-copyright-line "/* " " */") +  (jao-skel-copyright-line "/* " " */")    \n)  (define-skeleton jao-skel-cpp-header-comment @@ -172,7 +172,6 @@    '(jao-skel-cpp-header-comment)    "#include \"" (jao-skel-cpp--find-other "h") "\""    > _ \n \n \n \n -  (jao-scm-line "/* " " */")    > \n) @@ -183,7 +182,7 @@  (define-skeleton jao-skel-cpp-class-def    "Insert a class definition"    nil -  '(setq v1 (jao-basename)) +  '(setq v1 (jao-skel-basename))    > \n    "/**"    > \n @@ -240,11 +239,9 @@    "#define " v1    > _ \n \n \n \n    "#endif /* " v1 " */" -  > \n \n -  (jao-scm-line "/* " " */") -  > \n) +  > \n > \n) -(jao-skel-provide +(jao-skel-install*   '(("\\.cpp$" jao-skel-cpp-source-header)     ("\\.hpp$" jao-skel-cpp-header)     ("\\.c$" jao-skel-c-source-header) diff --git a/lib/skels/jao-skel-cppunit.el b/lib/skels/jao-skel-cppunit.el index de77f3a..37c683a 100644 --- a/lib/skels/jao-skel-cppunit.el +++ b/lib/skels/jao-skel-cppunit.el @@ -47,7 +47,7 @@    "Create a CPPUNIT class definition preamble"    nil    > -  "CPPUNIT_TEST_SUITE(" (jao-basename) ");" +  "CPPUNIT_TEST_SUITE(" (jao-skel-basename) ");"    > \n    "CPPUNIT_TEST(test);"    > \n @@ -68,11 +68,11 @@    "Create a CPPUNIT class implementation preamble"    nil    > -  "CPPUNIT_TEST_SUITE_REGISTRATION(" (jao-basename) ");" +  "CPPUNIT_TEST_SUITE_REGISTRATION(" (jao-skel-basename) ");"    > \n \n    "void"    > \n -  (jao-basename) "::set_up()" +  (jao-skel-basename) "::set_up()"    > \n    "{"    > \n @@ -80,7 +80,7 @@    > \n \n    "void"    > \n -  (jao-basename) "::tear_down()" +  (jao-skel-basename) "::tear_down()"    > \n    "{"    > \n diff --git a/lib/skels/jao-skel-geiser.el b/lib/skels/jao-skel-geiser.el index f42b16c..8e64c17 100644 --- a/lib/skels/jao-skel-geiser.el +++ b/lib/skels/jao-skel-geiser.el @@ -22,18 +22,18 @@    "Brief description: "    ";;; " (file-name-nondirectory (buffer-file-name)) " -- " str ""    \n \n -  (jao-copyright-line ";; ") \n +  (jao-skel-copyright-line ";; ") \n    jao-skel-geiser--bsd -  \n (jao-date-line ";; ") \n) +  \n (jao-skel-date-line ";; ") \n)  (define-skeleton jao-skel-geiser-elisp    "Geiser elisp header"    nil    '(jao-skel-geiser--common) -  "" \n _ \n \n "" \n "(provide '" (jao-basename) ")" \n +  "" \n _ \n \n "" \n "(provide '" (jao-skel-basename) ")" \n    (jao-skel-geiser--end-line)) -(jao-provide-skel "geiser/elisp/.+\\.el\\'" 'jao-skel-geiser-elisp) +(jao-skel-install "geiser/elisp/.+\\.el\\'" 'jao-skel-geiser-elisp)  (define-skeleton jao-skel-geiser-scheme    "Geiser scheme header" @@ -41,7 +41,7 @@    '(jao-skel-geiser--common) _    \n (jao-skel-geiser--end-line)) -(jao-provide-skel "geiser/scheme/.+\\.\\(scm\\|ss\\|sls\\)\\'" +(jao-skel-install "geiser/scheme/.+\\.\\(scm\\|ss\\|sls\\)\\'"                    'jao-skel-geiser-scheme) diff --git a/lib/skels/jao-skel-haskell.el b/lib/skels/jao-skel-haskell.el index 559b467..d785dbf 100644 --- a/lib/skels/jao-skel-haskell.el +++ b/lib/skels/jao-skel-haskell.el @@ -34,7 +34,7 @@           (mbase (and ddir (concat (replace-regexp-in-string "/" "." ddir)                                    ".")))           (m (read-string "Module prefix (empty for no module): " -                         (concat (or mbase "") (jao-basename))))) +                         (concat (or mbase "") (jao-skel-basename)))))      (or m "")))  (defconst jao-skel--haskell-line (make-string 78 ?-)) @@ -47,7 +47,7 @@    jao-skel--haskell-line \n    "-- |" \n    "-- Module: " v \n -  (jao-copyright-line "-- Copyright: " "" t) +  (jao-skel-copyright-line "-- Copyright: " "" t)    "-- License: BSD3-style (see LICENSE)" \n    "--" \n    "-- Maintainer: " user-mail-address \n @@ -62,8 +62,8 @@    \n \n \n    "module " v " where " \n \n \n) -(jao-provide-skel "\\.hs\\'"  'jao-skel-haskell-file) -;; (jao-provide-skel "\\.lhs\\'" 'jao-skel-lit-haskell-file) +(jao-skel-install "\\.hs\\'"  'jao-skel-haskell-file) +;; (jao-skel-install "\\.lhs\\'" 'jao-skel-lit-haskell-file)  (provide 'jao-skel-haskell) diff --git a/lib/skels/jao-skel-latex.el b/lib/skels/jao-skel-latex.el index 4981acc..c8f6bb2 100644 --- a/lib/skels/jao-skel-latex.el +++ b/lib/skels/jao-skel-latex.el @@ -41,11 +41,11 @@    \n    "%%"    ?\n -  (jao-copyright-line "% ") +  (jao-skel-copyright-line "% ")    \n    "%%"    \n \n) -(jao-provide-skel "\\.tex$\\|\\.sty$\\|\\.cls$" 'jao-skel-latex) +(jao-skel-install "\\.tex$\\|\\.sty$\\|\\.cls$" 'jao-skel-latex)  (provide 'jao-skel-latex) diff --git a/lib/skels/jao-skel-lisp.el b/lib/skels/jao-skel-lisp.el index 999481d..34bbd41 100644 --- a/lib/skels/jao-skel-lisp.el +++ b/lib/skels/jao-skel-lisp.el @@ -33,18 +33,18 @@    "Brief description: "    ";; " (file-name-nondirectory (buffer-file-name)) " -- " str ""    ?\n -  (jao-c&co-line ";; ") +  (jao-skel-copyright-lines ";; ")    ?\n -  (jao-insert-copyright-file) +  (jao-skel-insert-license)    \n ";;; Comentary: " \n \n ";; " _ \n    \n ";;; Code: " \n \n \n \n    '(when (eq major-mode 'emacs-lisp-mode) -     (insert (format "\n(provide '%s)\n" (jao-basename)))) +     (insert (format "\n(provide '%s)\n" (jao-skel-basename))))    ";;; " (file-name-nondirectory (buffer-file-name)) " ends here"    \n    \n) -(jao-provide-skel "\\.\\(scm\\|ss\\|lisp\\|cl)\\'" 'jao-skel-lisp-file) +(jao-skel-install "\\.\\(scm\\|ss\\|lisp\\|cl)\\'" 'jao-skel-lisp-file)  (provide 'jao-skel-lisp)  ;;; jao-skel-lisp.el ends here diff --git a/lib/skels/jao-skel-make.el b/lib/skels/jao-skel-make.el index e24e509..5810c69 100644 --- a/lib/skels/jao-skel-make.el +++ b/lib/skels/jao-skel-make.el @@ -43,10 +43,10 @@    \n    "#"    ?\n -  (jao-copyright-line "# ") +  (jao-skel-copyright-line "# ")    \n -  (jao-insert-copyright-file)) +  (jao-skel-insert-license)) -(jao-provide-skel "\\.mk$\\|Makefile\\(\\.am\\)?\\|configure\\.in" 'jao-skel-makefile) +(jao-skel-install "\\.mk$\\|Makefile\\(\\.am\\)?\\|configure\\.in" 'jao-skel-makefile)  (provide 'jao-skel-make) diff --git a/lib/skels/jao-skel-perl.el b/lib/skels/jao-skel-perl.el index eea02d0..62f89a3 100644 --- a/lib/skels/jao-skel-perl.el +++ b/lib/skels/jao-skel-perl.el @@ -41,9 +41,9 @@    > \n    "#"    > ?\n -  (jao-copyright-line "# ") +  (jao-skel-copyright-line "# ")    > ?\n -  (jao-insert-copyright-file) +  (jao-skel-insert-license)    > \n    "use strict;"    > \n \n @@ -58,20 +58,20 @@    > \n    "#"    > ?\n -  (jao-copyright-line "# ") +  (jao-skel-copyright-line "# ")    > ?\n -  (jao-insert-copyright-file) +  (jao-skel-insert-license)    "# "    > \n \n    "package " -  (read-string (concat "Module name (" (jao-basename) "): ") -	       nil nil (jao-basename)) +  (read-string (concat "Module name (" (jao-skel-basename) "): ") +	       nil nil (jao-skel-basename))    ";"    > \n \n _ \n \n    "1;"    > \n) -(jao-provide-skel "\\.pl$" 'jao-skel-perl-script) -(jao-provide-skel "\\.pm$" 'jao-skel-perl-module) +(jao-skel-install "\\.pl$" 'jao-skel-perl-script) +(jao-skel-install "\\.pm$" 'jao-skel-perl-module)  (provide 'jao-skel-perl) diff --git a/lib/skels/jao-skel-python.el b/lib/skels/jao-skel-python.el index 25a0ba1..aa224df 100644 --- a/lib/skels/jao-skel-python.el +++ b/lib/skels/jao-skel-python.el @@ -41,12 +41,12 @@    > \n    "#"    > ?\n -  (jao-copyright-line "# ") +  (jao-skel-copyright-line "# ")    > ?\n -  (jao-insert-copyright-file) +  (jao-skel-insert-license)    > \n    > \n _) -(jao-provide-skel "\\.py$" 'jao-skel-python-module) +(jao-skel-install "\\.py$" 'jao-skel-python-module)  (provide 'jao-skel-python) diff --git a/lib/skels/jao-skel-readme.el b/lib/skels/jao-skel-readme.el index dfeb7ad..227afa8 100644 --- a/lib/skels/jao-skel-readme.el +++ b/lib/skels/jao-skel-readme.el @@ -33,7 +33,7 @@    \n "-----------------------------------------------------" \n    _ \n \n \n    "-----------------------------------------------------" \n -  (jao-copyright-line "" "") +  (jao-skel-copyright-line "" "")    \n \n    "$Id" "$"    \n) diff --git a/lib/skels/jao-skel-texinfo.el b/lib/skels/jao-skel-texinfo.el index b822e3f..1130850 100644 --- a/lib/skels/jao-skel-texinfo.el +++ b/lib/skels/jao-skel-texinfo.el @@ -33,18 +33,15 @@          (desc (read-string "Direntry description: ")))      (concat "@dircategory " cat              "\n@direntry\n" ent -            ": (" (jao-basename) ").        " desc "." +            ": (" (jao-skel-basename) ").        " desc "."              "\n@end direntry\n")))  (define-skeleton jao-skel-main-texinfo    "Main texinfo file skeleton"    "Document title: "    "\\input texinfo" -  \n "@ignore" > -  \n (jao-scm-line "") -  "@end ignore" >    \n > "@c %**start of header" -  \n "@setfilename " (jao-basename) ".info" > +  \n "@setfilename " (jao-skel-basename) ".info" >    \n "@settitle " str >    \n "@syncodeindex pg cp" >    \n "@setchapternewpage odd" > @@ -60,7 +57,7 @@    \n \n "@copying"    \n "This manual is for " str " (version @value{VERSION}, @value{UPDATED})."    \n -  \n "Copyright @copyright{} " (format-time-string "%Y") " " jao-company-name +  \n "Copyright @copyright{} " (format-time-string "%Y") " " jao-skel-company-name    \n    \n "@quotation"    \n "Permission is granted to copy, distribute and/or modify this document" @@ -106,9 +103,6 @@    "Node name: "    "@node " str \n    > "@chapter " str \n -  > "@ignore" \n -  (jao-scm-line "") -  > "@end ignore" \n \n    _ \n \n    "@c This is part of the " (read-string "Main doc title: ") \n    "@c See the main file for copying conditions." diff --git a/lib/skels/jao-skel.el b/lib/skels/jao-skel.el index 859810d..9bd402d 100644 --- a/lib/skels/jao-skel.el +++ b/lib/skels/jao-skel.el @@ -29,129 +29,75 @@  (require 'skeleton)  (require 'autoinsert) -(defvar jao-company-name nil +(defvar jao-skel-company-name nil    "Company name used in copyright notice") -(defvar jao-copyright-file ".copyright" +(defvar jao-skel-copyright-file ".copyright"    "Basename of the raw (uncommented) copyright file") -(defvar jao-skels-default-scm nil -  "Default SCM system") +(defun jao-skel--prefix (pref) (or pref (concat comment-start " "))) +(defun jao-skel--suffix (suff) (or suff (concat " " comment-end))) -(defun jao-prefix (pref) (or pref (concat comment-start " "))) -(defun jao-suffix (suff) (or suff (concat " " comment-end))) - -(defun jao-copyright-line (prefix &optional suffix omit-cpy) +(defun jao-skel-copyright-line (prefix &optional suffix omit-cpy)    "Create a brief copyright notice with given PREFIX and SUFFIX" -  (concat (jao-prefix prefix) +  (concat (jao-skel--prefix prefix)            (if omit-cpy "" "Copyright ")            "(c) " (format-time-string "%Y") " " -          (or jao-company-name (user-full-name)) -          (jao-suffix suffix) "\n")) +          (or jao-skel-company-name (user-full-name)) +          (jao-skel--suffix suffix) "\n")) -(defun jao-date-line (prefix &optional suffix) +(defun jao-skel-date-line (prefix &optional suffix)    "Create a start date line" -  (concat (jao-prefix prefix) +  (concat (jao-skel--prefix prefix)            "Start date: " (format-time-string "%a %b %d, %Y %H:%M") -          (jao-suffix suffix) "\n")) +          (jao-skel--suffix suffix) "\n")) -(defun jao-author-line (prefix &optional suffix) +(defun jao-skel-author-line (prefix &optional suffix)    "Create an author date line" -  (concat (jao-prefix prefix) +  (concat (jao-skel--prefix prefix)            "Author: " (user-full-name) " <" user-mail-address "> " -          (jao-suffix suffix) "\n")) - -(defun jao-cvs-line (prefix &optional suffix) -  "Create a CVS ID line" -  (concat (jao-prefix prefix) "$" "Id$" (jao-suffix suffix) "\n")) - -(defun jao-svn-line (prefix &optional suffix) -  "Create a SVN ID line" -  (concat (jao-prefix prefix) "X-SVN: $" "Id$" (jao-suffix suffix) "\n")) - -(defun jao-arch-line (&optional prefix suffix) -  "Create an arch-tag line" -  (let ((uuid (shell-command-to-string "uuidgen"))) -    (concat (jao-prefix prefix) "arch-tag: " uuid (jao-suffix suffix) "\n"))) - -(defun jao-insert-arch-line () -  (interactive) -  (insert (jao-arch-line))) - -(defun jao-scm-line (prefix &optional suffix) -  "Create an scm line" -  (let* ((formats '(("arch" . jao-arch-line) -                    ("svn" . jao-svn-line) -                    ("cvs" . jao-cvs-line) -                    ("none" . (lambda (p f) "")))) -         (names (mapcar 'car formats)) -         (prompt (concat "SCM (" (mapconcat 'identity names ", ") "): ")) -         (sel (or jao-skels-default-scm -                  (completing-read prompt formats nil 1))) -         (fun (cdr (assoc sel formats)))) -    (when fun (concat (funcall fun prefix suffix))))) - -(defun jao-c&co-line (&optional prefix suffix) -  (concat (jao-scm-line prefix suffix) "\n" -          (jao-co-line prefix suffix))) - -(defun jao-co-line (&optional prefix suffix) -  (concat (jao-copyright-line prefix suffix) "\n" -          (jao-author-line prefix suffix) -          (jao-date-line prefix suffix))) - -;; aux functions --------------------------------------------------------- -(defun jao-basename () -  "Get buffer file name without dir nor extension" -  (file-name-sans-extension (file-name-nondirectory (buffer-file-name)))) +          (jao-skel--suffix suffix) "\n")) -(defun jao-basedir () -  "Base directory" -  (file-name-nondirectory -   (substring (file-name-directory (buffer-file-name)) 0 -1))) +(defun jao-skel-copyright-lines (&optional prefix suffix) +  (concat (jao-skel-copyright-line prefix suffix) "\n" +          (jao-skel-author-line prefix suffix) +          (jao-skel-date-line prefix suffix))) -(defun jao-dir-level (l) -  (let ((elems (split-string -                (file-name-sans-extension (buffer-file-name)) "/"))) -    (mapconcat 'identity (nthcdr (- (length elems) (+ 1 l)) elems) "/"))) +(defun jao-skel-basename () +  "Get buffer file name without dir nor extension" +  (file-name-sans-extension (file-name-nondirectory (buffer-file-name)))) -(defun jao-extension () +(defun jao-skel-extension ()    "Find the extension of the currently visited file"    (let ((elems (split-string (file-name-nondirectory (buffer-file-name))                               "\\.")))      (nth (- (length elems) 1) elems))) -(defun jao-other-file-name (ext1 ext2) -  "Find the complimentary file name of header/source file" -  (let ((extension (jao-extension)) -        (basename (jao-basename))) -    (if (string= extension ext1) (concat basename "." ext2) -      (concat basename "." ext1)))) - -(defun jao-insert-commented-file (file-name) +(defun jao-skel--insert-commented-file (file-name)    (let* ((start (point))           (end (+ start (cadr (insert-file-contents file-name)))))      (goto-char end)      (comment-region start (point)))) -(defun jao-insert-copyright-file () -  (let ((dir (locate-dominating-file (buffer-file-name) jao-copyright-file))) +(defun jao-skel-insert-license () +  (let ((dir (locate-dominating-file (buffer-file-name) jao-skel-copyright-file)))      (when dir -      (let ((file (expand-file-name jao-copyright-file dir))) +      (let ((file (expand-file-name jao-skel-copyright-file dir)))          (when (file-exists-p file) -          (jao-insert-commented-file file)))))) +          (jao-skel--insert-commented-file file)))))) -(defun jao-provide-skel (regexp skel) +(defun jao-skel-install (regexp skel)    (let ((ex (assoc regexp auto-insert-alist)))      (if ex (setf (cdr ex) skel)        (add-to-list 'auto-insert-alist (cons regexp skel))))) -(defsubst jao-skel-provide (lst) -  (mapc (lambda (x) (apply #'jao-provide-skel x))  lst)) +(defsubst jao-skel-install* (lst) +  (mapc (lambda (x) (apply #'jao-skel-install x))  lst))  (setq auto-insert t)  (add-hook 'find-file-hooks 'auto-insert) -(setq auto-insert-directory "~/.autoinsert/") + +(setq auto-insert-directory "~/.emacs.d/autoinsert/")  (setq auto-insert-query t)  (provide 'jao-skel)  | 
