changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > core / lisp/lib/skel/comp/dir-locals.lisp

changeset 663: cc89b337384b
parent: e6c6713c17ff
author: Richard Westhaver <ellis@rwest.io>
date: Sat, 21 Sep 2024 22:58:22 -0400
permissions: -rw-r--r--
description: skel upgrades, added skel/net
1 ;;; skel/comp/dir-locals.lisp --- Support for Emacs dir-locals.el
2 
3 ;; https://www.gnu.org/software/emacs/manual/html_node/elisp/Directory-Local-Variables.html
4 
5 ;;; Code:
6 (in-package :skel/comp/dir-locals)
7 (defvar *dir-locals-file* ".dir-locals.el")
8 (deftype dir-local-var-designator () '(or symbol string))
9 
10 (defclass sk-dir-locals (sk-component sxp)
11  ())
12 
13 (defmethod sk-new ((self (eql :dir-locals)) &rest args)
14  (apply #'make-instance 'sk-dir-locals args))
15 
16 (defmethod sk-load-component ((kind (eql :dir-locals)) (form pathname) &optional (path *default-pathname-defaults*))
17  (declare (ignore kind))
18  (sk-new :dir-locals :ast (read-sxp-file (make-pathname :name (namestring form) :type "el"
19  :directory (namestring path)))))