Closed
Description
Libraries like https://github.com/gnl/ghostwheel have a macro >defn
for defining functions, in one of my codebases i define >defn
myself, but it's implemented with malli.experimental/defn
There's no way to adjust clojure-ts-mode syntax highlighting without forking the repo, e.g.
(defconst clojure-ts--definition-keyword-regexp
(rx
line-start
(or (group (or "ns" "fn"))
(group ">def"
(+ (or alnum
;; What are valid characters for symbols? is a negative match better?
"-" "_" "!" "@" "#" "$" "%" "^" "&" "*" "|" "?" "<" ">" "+" "=" ":")))
(group "def"
(+ (or alnum
;; What are valid characters for symbols? is a negative match better?
"-" "_" "!" "@" "#" "$" "%" "^" "&" "*" "|" "?" "<" ">" "+" "=" ":"))))
line-end))
(defvar clojure-ts--function-type-regexp
(rx string-start (or ">defn" "defn" "defmethod") string-end))
There should be a general extension mechanism.
One random idea is we parse PROJECT/.clj-kondo/** edn files for :lint-as, e.g.
:lint-as {
mynamespace/>defn schema.core/defn
richelieu.core/defadvice clojure.core/defn
}
Although doing this the proper way would probably add too much complexity.