Commit graph

25 commits

Author SHA1 Message Date
Jeetaditya Chatterjee
06ed5ade3f
refactor!(tree-sitter): add +tree-sitter flag
BREAKING CHANGE: break the global nature of the tree sitter
module by adding a +tree-sitter flag to every applicable module

In the background this hooks turn-on-tree-sitter-mode
to the major-mode-hook of the language.
This may also solve the eager loading of tree sitter
2022-05-22 21:26:00 +01:00
Henrik Lissner
d58d084774
tweak(:lang,:tools): start eglot/lsp-mode later
To ensure lsp/eglot settings have precedence over local servers (e.g.
cider and lookup handlers).

Ref: clojure-emacs/cider#3170
2022-03-30 17:32:47 +02:00
Kiran Shila
1f27a68ae6 tweak(julia): update lsp environment to recent LTS 2022-01-27 03:36:04 +01:00
Henrik Lissner
b98b6fdeed lang/julia: auto-detect default environment 2021-05-10 21:56:02 -04:00
Henrik Lissner
6584aa866f lang/julia: lsp-enable-folding = 1
To address non-Jedi/lsp-julia#35
2021-05-10 21:21:08 -04:00
Han
ba0f791b05
lang/julia: improve lsp support (#4012)
* lang/julia: include lsp-julia w/o language server

Use nonrecursive clone to get lsp-julia without bundled
LanguageServer.jl (plus dependencies) and include instructions in the
README on how to install the language server (bundled or otherwise).

* lang/julia: add checks for julia +lsp in doctor

Add two checks, both only for when the +lsp feature is enabled:
- Check if (:tools lsp) is selected
- Check if LanguageServer.jl is installed

* lang/julia: indicate SymbolServer.jl as dependency

It is itself a dependency of LanguageServer.jl, but it's necessary to
add it separately in order to do `using SymbolServer`.

* tools/lsp: add julia language server to list

* lang/julia: add eglot support using eglot-jl

Forcing eglot-jl to not install its own LanguageServer.jl is a bit of a
hack though.

* lang/julia: make timeout increase buffer-local

Suggestion by @benneti to use `setq-local` instead of `setq` to prevent
a timeout increase in non-Julia eglot buffers.

* Fix issues

Co-authored-by: Henrik Lissner <henrik@lissner.net>
2021-03-01 22:25:35 -05:00
Dan LaManna
08354f3316 Fix various broken links 2021-01-17 15:08:21 -05:00
Henrik Lissner
f6f90c9791
Fix lsp packages failing to load
As of emacs-lsp/lsp-mode@b9b0f34 there is no more lsp-clients, so load
these lsp packages after lsp-mode instead.
2020-08-20 03:54:44 -04:00
Ronan Arraes Jardim Chagas
e9d70c861a Fix highlighting of operator <: 2020-08-18 21:26:41 -03:00
Ronan Arraes Jardim Chagas
739ca0fd42 Improve highlighting of Julia operators 2020-08-18 21:00:33 -03:00
Henrik Lissner
eec3968802
Defer julia REPL 2020-04-08 17:43:42 -04:00
Henrik Lissner
cd156fcc0a
Refactor julia module 2020-04-08 17:34:53 -04:00
AlexLewandowski
69f5578319 rm newline 2020-04-08 14:56:31 -06:00
AlexLewandowski
b2368527d3 Julia:added LSP and repl buffername uses workspace 2020-04-08 14:34:04 -06:00
Henrik Lissner
4761a7635a
lang/julia: add julia-repl package
Mentioned in #1836
2019-10-04 22:14:05 -04:00
Henrik Lissner
2d365619cd
General refactor & cleanup, across the board 2019-09-13 22:00:34 -04:00
Henrik Lissner
0edeafadcf
lang/julia: operator highlights for ess-julia-mode
And adjust REPL handler to return the repl buffer.
2019-02-15 19:43:13 -05:00
Henrik Lissner
588359cc5f
Replace :eval/:repl with autodef functions
+ :eval => set-eval-handler!
+ :repl => set-repl-handler!
+ Updates all internal references.
2018-06-15 16:20:20 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
c7254e7bdc
Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
Henrik Lissner
09efa24ab8 lang/julia: stea--borrow matlab.el's fontification of math operators 2017-04-26 23:29:31 -04:00
Henrik Lissner
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
Henrik Lissner
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
Henrik Lissner
e14e25ecb4 Update modules/lang/* 2017-02-20 00:26:08 -05:00
Henrik Lissner
f453b3cee1 Reorganize modules 2017-02-20 00:23:03 -05:00
Renamed from modules/module-julia.el (Browse further)