mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-19 13:43:36 -05:00
module: add :lang janet
This commit is contained in:
39
modules/lang/janet/config.el
Normal file
39
modules/lang/janet/config.el
Normal file
@@ -0,0 +1,39 @@
|
||||
;;; lang/janet/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(use-package! janet-mode
|
||||
;; HACK: Needed to override autoloaded `auto-mode-alist' and
|
||||
;; `interpreter-mode-alist' entries from this or `janet-ts-mode', so we can
|
||||
;; rely on `major-mode-remap-defaults' instead.
|
||||
:mode "\\.\\(jdn\\|janet\\)\\'"
|
||||
:interpreter "janet[0-9]*\\'"
|
||||
:config
|
||||
(after! dtrt-indent
|
||||
(add-to-list 'dtrt-indent-hook-mapping-list '(janet-mode janet janet-indent)))
|
||||
|
||||
;; HACK: janet-mode calls `janet--set-indentation' each time it's activated,
|
||||
;; making its (global) side-effects unnecessarily difficult to change, so I
|
||||
;; disable it and call it manually (and once).
|
||||
;; REVIEW: PR this upstream?
|
||||
(defadvice! +janet--inhibit-indent-init-a (fn &rest args)
|
||||
:around #'janet-mode
|
||||
(letf! ((#'janet--set-indentation #'ignore))
|
||||
(apply fn args)))
|
||||
|
||||
(janet--set-indentation)
|
||||
(dolist (sym '(with label catseq eachp eachk))
|
||||
(put sym 'janet-indent-function 'defun)))
|
||||
|
||||
|
||||
;; (use-package! janet-ts-mode
|
||||
;; :when (modulep! +tree-sitter)
|
||||
;; :defer t
|
||||
;; :init
|
||||
;; (set-tree-sitter! 'janet-mode 'janet-ts-mode
|
||||
;; `(janet-simple :url "https://github.com/sogaiu/tree-sitter-janet-simple"
|
||||
;; :cc ,(if (featurep :system 'windows) "gcc.exe")))
|
||||
;; :config
|
||||
;; ;; HACK: These autoloads are inserted twice by this package, so remove them so
|
||||
;; ;; this module can be the single source of truth.
|
||||
;; (cl-callf2 delete '("\\.janet\\'" . janet-ts-mode) auto-mode-alist)
|
||||
;; (cl-callf2 delete '("\\.jdn\\'" . janet-ts-mode) auto-mode-alist)
|
||||
;; (cl-callf2 delete '("janet" . janet-ts-mode) interpreter-mode-alist))
|
||||
Reference in New Issue
Block a user