clojure-ts-mode icon indicating copy to clipboard operation
clojure-ts-mode copied to clipboard

Toplevel defs with metadata are not handled properly

Open kommen opened this issue 1 year ago • 2 comments

This is valid Clojure code and is handled correctly in clojure-mode:

^{:a 1}
(def b 2)

Expected behavior

To match the behavior of clojure-mode which is: -) b can navigated to via imenu -) (def b 2) properly font locked liked other toplevel defs -) (def b 2) not indented

Actual behavior

-) b not included in imenu -) (def b 2) not font locked -) (def b 2) indented

Steps to reproduce the problem

Put this a clojure-ts-mode buffer:

^{:a 1}
(def b 2)

Environment & Version information

clojure-ts-mode version

clojure-ts-mode (version 0.2.2)

tree-sitter-clojure grammar version

v0.0.12

Emacs version

E.g. 29.3

Operating system

macOS 14.4

kommen avatar Mar 31 '24 21:03 kommen

Toplevel defs with metadata is very common in Clerk notebooks.

e.g for controlling visibility: https://github.com/nextjournal/clerk/blob/cbb19fd8f1a9b3b01c9ccb0d43c6dbb4571f3829/notebooks/visibility.clj#L21-L22

or specifying viewers: https://github.com/nextjournal/clerk/blob/cbb19fd8f1a9b3b01c9ccb0d43c6dbb4571f3829/notebooks/viewer_api_meta.clj#L22-L23

kommen avatar Mar 31 '24 21:03 kommen

I pushed a WIP branch trying to address this: #43

kommen avatar Mar 31 '24 21:03 kommen