Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add clojure-ts-mode support #3622

Merged
merged 9 commits into from
Feb 18, 2024
Merged

Conversation

kommen
Copy link
Contributor

@kommen kommen commented Feb 18, 2024

Continuation of #3461

  • merged changes from cider's master branch
  • adapted for changes of the derived modes from clojure-ts-mode (Fix flycheck errors clojure-ts-mode#36)
  • checked against my emacs config that clojure-ts-mode and clojure-ts-clojurescript-mode work with cider works (incl. cider-eval)
  • update Changelog

dannyfreeman and others added 9 commits October 23, 2023 22:42
This does NOT intended to break the dependency from cider to
clojure-mode. It is intended to make CIDER work with clojure-ts-mode.

Some functionality like clojure-find-ns, clojulore-find-def, etc will
still require clojure-mode in order for CIDER to get it's work done.

Adds util functions for checking if buffer is managed by a clojure mode
Address cl-flet lint warning

... with a simpler implementation of cider--setup-clojure-major-mode.
Can't have cl-flet lint warnings if I don't use cl-flet.

Add clojure-ts-mode dependency to Eldev

Silence byte-compiler when optional clojure-ts-mode is not available

The linter throws a warning when byte-compiling. Eldev doesn't support
pulling in dependencies declared with `eldev-add-extra-dependencies`
while running the `eldev compile` command. See
https://emacs-eldev.github.io/eldev/#additional-dependencies

This makes sense. If a user is byte compiling cider and they don't have
clojure-ts-mode installed, they shouldn't see a byte compile warning for
it.

Make clojure-ts-mode dependency optional

Tests will fail when using Emacs versions less than 29 because
clojure-ts-mode requires Emacs 29 to work properly. That could be why
tests fail in CI. This probably won't help with the linting issue
Includes top level "main" tests, plus an additional
clojure-ts-mode/* tests.

This also tries to install the language grammar in the CI environment.
Git and CC are required. This works in github actions
Particularly the caveats page, where we describe some of the things
clojure-ts-mode is currently lacking.
@bbatsov bbatsov merged commit e6ad3ae into clojure-emacs:master Feb 18, 2024
34 of 35 checks passed
@bbatsov
Copy link
Member

bbatsov commented Feb 18, 2024

Looks good to me. Thanks for driving this to the finish line! 🚀

@kommen kommen deleted the cider-clj-ts branch February 18, 2024 22:52
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.

3 participants