mirror of
https://github.com/stevenproctor/dotfiles.git
synced 2026-01-28 11:29:56 -06:00
paredit.fnl formatting
This commit is contained in:
@@ -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}))
|
||||||
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user