Skip to content

Add orchard.meta/classify-symbol#399

Merged
bbatsov merged 1 commit into
masterfrom
feat-classify-symbols
Jun 19, 2026
Merged

Add orchard.meta/classify-symbol#399
bbatsov merged 1 commit into
masterfrom
feat-classify-symbols

Conversation

@bbatsov

@bbatsov bbatsov commented Jun 19, 2026

Copy link
Copy Markdown
Member

Adds orchard.meta/classify-symbol, which resolves a symbol in a namespace and reports what kind of operator it is: :macro, :inline (an inline-expandable function), :special (a special form), or :function; nil when the symbol doesn't resolve.

This is the resolution primitive behind a new CIDER feature for classifying the sub-forms of a form, so the editor can highlight and navigate between the heads that are macroexpandable. cider-nrepl will expose it through a cider/classify-symbols op.

Classify a symbol, resolved in a given namespace, by what kind of
operator it is: `:macro`, `:inline` (an inline-expandable function),
`:special` (a special form), or `:function` (any other resolved var);
nil when the symbol doesn't resolve. This is the resolution primitive
behind classifying the sub-forms of a form in CIDER (e.g. highlighting
which heads are macroexpandable).
@bbatsov bbatsov merged commit 36d03e5 into master Jun 19, 2026
12 checks passed
@bbatsov bbatsov deleted the feat-classify-symbols branch June 19, 2026 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant