paredit.fnl formatting

This commit is contained in:
2022-10-20 19:20:36 -05:00
parent 94c07708b6
commit f0fdde8b8b

View File

@@ -1,76 +1,61 @@
(module dotfiles.plugin.paredit (module dotfiles.plugin.paredit
{autoload {nvim aniseed.nvim {autoload {nvim aniseed.nvim
a aniseed.core a aniseed.core
nu aniseed.nvim.util nu aniseed.nvim.util
paredit paredit paredit paredit
ts-parsers nvim-treesitter.parsers ts-parsers nvim-treesitter.parsers
ts-utils nvim-treesitter.ts_utils ts-utils nvim-treesitter.ts_utils
languagetree vim.treesitter.languagetree languagetree vim.treesitter.languagetree}})
}})
(defn list-member? [xs x] (defn list-member? [xs x] (a.some #(= x $1) (a.vals xs)))
(a.some #(= x $1) (a.vals xs)))
(defn bool->int [bool] (defn bool->int [bool] (if bool 1 0))
(if bool 1 0))
(defn language-at-cursor [] (defn language-at-cursor [] (let [parser (ts-parsers.get_parser)
(let [parser (ts-parsers.get_parser) current-node (ts-utils.get_node_at_cursor)
current-node (ts-utils.get_node_at_cursor) range (if current-node [(current-node:range)])
range (if current-node lang (if range
[(current-node:range)]) (languagetree.language_for_range parser
lang (if range range))]
(languagetree.language_for_range parser range))] (if lang
(if lang (lang:lang))))
(lang:lang))))
(defn parser-language [] (defn parser-language [] (let [parser (ts-parsers.get_parser)]
(let [parser (ts-parsers.get_parser)] (when parser
(when parser (parser:lang))))
(parser:lang))))
(def- paredit-langs (def- paredit-langs [:clojure
[ :fennel
:clojure :hy
:fennel :janet
:hy :julia
:janet :lfe
:julia :lisp
:lfe :racket
:lisp :scheme
:racket :shen])
:scheme
:shen
])
(def- paredit-host-langs (def- paredit-host-langs [:org :markdown :asciidoc])
[
:org
:markdown
:asciidoc
])
(defn- host-lang-in? [langs] (defn- host-lang-in? [langs] (list-member? langs (parser-language)))
(list-member? langs (parser-language)))
(defn paredit-lang? [lang] (defn paredit-lang? [lang] (list-member? paredit-langs lang))
(list-member? paredit-langs lang))
(defn TreeSitterLangParedit [] (defn TreeSitterLangParedit []
(when (host-lang-in? paredit-host-langs) (when (host-lang-in? paredit-host-langs)
(when-let [cursor-lang (language-at-cursor)] (when-let [cursor-lang (language-at-cursor)]
(->> cursor-lang (->> cursor-lang
(paredit-lang?) (paredit-lang?)
(bool->int) (bool->int)
(set nvim.g.paredit_mode)) (set nvim.g.paredit_mode))
(nvim.fn.PareditInitBuffer)))) (nvim.fn.PareditInitBuffer))))
; (nvim.del_augroup_by_name "BabeliteParedit") ; (nvim.del_augroup_by_name "BabeliteParedit")
; (nvim.get_autocmds {:group "BabeliteParedit"}) ; (nvim.get_autocmds {:group "BabeliteParedit"})
(let [group (nvim.create_augroup "BabeliteParedit" {:clear true})] ; (let [group (nvim.create_augroup "BabeliteParedit" {:clear true})]
(nvim.create_autocmd ["CursorHold" "CursorMoved"] ; (nvim.create_autocmd ["CursorHold" "CursorMoved"]
{:group group ; {:group group
;:pattern ["*.org" "*.md"] ; ;:pattern ["*.org" "*.md"]
:callback TreeSitterLangParedit})) ; :callback TreeSitterLangParedit}))
;