200ok-ch/counsel-jq@153d70b -> 200ok-ch/counsel-jq@8cadd2e Andersbakken/rtags@63f18ac -> Andersbakken/rtags@65113e2 Groovy-Emacs-Modes/groovy-emacs-modes@26da902 -> Groovy-Emacs-Modes/groovy-emacs-modes@99eaf70 NixOS/nix-mode@0023fc5 -> NixOS/nix-mode@3cca5b6 ProofGeneral/PG@f0f0476 -> ProofGeneral/PG@bc86736 Raku/raku-mode@8a6e17f -> Raku/raku-mode@7496ad3 StanfordLegion/terra-mode@1e5e824 -> StanfordLegion/terra-mode@eab9e59 TheBB/company-reftex@291c283 -> TheBB/company-reftex@42eb98c agda/agda@ecb9323 -> agda/agda@af9c4b9 ananthakumaran/tide@ad6fa78 -> ananthakumaran/tide@ccff099 asok/projectile-rails@f1fe6e8 -> asok/projectile-rails@6a18ada beancount/beancount-mode@3c04745 -> beancount/beancount-mode@02fe03e brotzeit/rustic@ed68fd3 -> brotzeit/rustic@6ca73bb cdominik/cdlatex@adf96ba -> cdominik/cdlatex@614a8d9 clojure-emacs/clojure-mode@a14671e -> clojure-emacs/clojure-mode@3e426b3 cython/cython@9decfca -> cython/cython@fae33cf dgutov/robe@126650a -> dgutov/robe@e1304d1 diml/utop@711c246 -> diml/utop@c87b8b2 dominikh/go-mode.el@49a5380 -> dominikh/go-mode.el@3497434 elixir-editors/emacs-elixir@0212b06 -> elixir-editors/emacs-elixir@6bbc1e5 emacs-csharp/csharp-mode@f977800 -> emacs-csharp/csharp-mode@093f0f2 emacs-ess/ESS@126d344 -> emacs-ess/ESS@4fefd0f emacs-lsp/lsp-dart@f3b70ec -> emacs-lsp/lsp-dart@01d89d4 emacs-lsp/lsp-haskell@7efbef3 -> emacs-lsp/lsp-haskell@eb37ac4 emacs-lsp/lsp-java@9685334 -> emacs-lsp/lsp-java@b66a075 emacs-lsp/lsp-metals@51a89c1 -> emacs-lsp/lsp-metals@9f82ebe emacs-lsp/lsp-pyright@65fb141 -> emacs-lsp/lsp-pyright@71a7976 emacs-lsp/lsp-sourcekit@aafa987 -> emacs-lsp/lsp-sourcekit@ae4aa87 emacs-php/php-mode@a2bca9b -> emacs-php/php-mode@cbf2723 emacs-php/phpactor.el@80788a8 -> emacs-php/phpactor.el@272217f emacs-straight/auctex@1472d1d -> emacs-straight/auctex@ea410dc erlang/otp@94c9738 -> erlang/otp@645ea81 ethereum/emacs-solidity@b4fd719 -> ethereum/emacs-solidity@5f6ef31 factor/factor@5bfeab6 -> factor/factor@b989a86 fsharp/emacs-fsharp-mode@78898a1 -> fsharp/emacs-fsharp-mode@93b1fbc godotengine/emacs-gdscript-mode@16c631c -> godotengine/emacs-gdscript-mode@b7bfa6a greghendershott/racket-mode@5115c47 -> greghendershott/racket-mode@7f12cb1 haskell/haskell-mode@1baa12a -> haskell/haskell-mode@98ba392 hhvm/hack-mode@847fd91 -> hhvm/hack-mode@f9315be hlissner/emacs-pug-mode@685fd34 -> hlissner/emacs-pug-mode@d080904 hvesalai/emacs-sbt-mode@0bdc36b -> hvesalai/emacs-sbt-mode@e29464a idris-hackers/idris-mode@80aabd2 -> idris-hackers/idris-mode@f52ad0b immerrr/lua-mode@2d9a468 -> immerrr/lua-mode@2bd9077 iyefrat/evil-tex@5f0d6fb -> iyefrat/evil-tex@87445d4 jcollard/elm-mode@e9fcf9c -> jcollard/elm-mode@f2e2d00 joaotavora/sly@5966d68 -> joaotavora/sly@41f4d65 jorgenschaefer/pyvenv@9b3678b -> jorgenschaefer/pyvenv@045ff94 jrblevin/markdown-mode@ac9ea26 -> jrblevin/markdown-mode@359347b jwiegley/emacs-async@d7e7f79 -> jwiegley/emacs-async@9a8cd0c jyp/attrap@778382e -> jyp/attrap@a5bc695 leanprover/lean-mode@5c50338 -> leanprover/lean-mode@bf32bb9 ledger/ledger-mode@32fef09 -> ledger/ledger-mode@19b84dc nathankot/company-sourcekit@abf9bc5 -> nathankot/company-sourcekit@a1860ad necaris/conda.el@dce431b -> necaris/conda.el@6db0720 non-Jedi/eglot-jl@84cff9d -> non-Jedi/eglot-jl@49f170e nonsequitur/inf-ruby@c6990a6 -> nonsequitur/inf-ruby@03dd9c9 ocaml-ppx/ocamlformat@0ad8d0a -> ocaml-ppx/ocamlformat@5dd6574 ocaml/dune@65e04ba -> ocaml/dune@75ecfe3 ocaml/merlin@635923d -> ocaml/merlin@5731826 ocaml/tuareg@37a6730 -> ocaml/tuareg@b59c422 pashky/restclient.el@abc307b -> pashky/restclient.el@2cc1fd3 polymode/polymode@b3871e9 -> polymode/polymode@7d1f822 pythonic-emacs/anaconda-mode@344727c -> pythonic-emacs/anaconda-mode@4f367c7 seagle0128/grip-mode@2855205 -> seagle0128/grip-mode@c0ca789 sebasmonia/sharper@d610b83 -> sebasmonia/sharper@08277b6 swift-emacs/swift-mode@ad12a30 -> swift-emacs/swift-mode@1b47a09 technomancy/fennel-mode@ba14a7d -> technomancy/fennel-mode@a908db8 tpapp/julia-repl@7ce38a9 -> tpapp/julia-repl@79e686e ziglang/zig-mode@2d0eb23 -> ziglang/zig-mode@0babe7e Closes #5221
lang/julia
Description
This module adds support for the Julia language to Doom Emacs.
- Syntax highlighting and latex symbols from
julia-mode
- REPL integration from
julia-repl
- Code completion and syntax checking, requires
:tools lsp
and+lsp
Module Flags
+lsp
Enable LSP server support.
Plugins
- julia-mode
- julia-repl
-
+lsp
and:tools lsp
-
+lsp
and:tools lsp +eglot
Prerequisites
This module requires julia
and an language server if +lsp
is enabled.
Language Server
+lsp
requires LanguageServer.jl
and SymbolServer.jl
. The lsp-julia
and
eglot-jl
packages both come bundled with their own versions of these servers,
which is used by default. If you're happy with that, no further configuration is
necessary.
However, to use your own installation you will need to install then configure them. To install them, execute these commands in a Julia REPL:
using Pkg
Pkg.add("LanguageServer")
Pkg.add("SymbolServer")
Then configure lsp-julia
or eglot-jl
depending on whether you have enabled
:tools lsp
or :tools (lsp +eglot)
, respectively:
lsp-julia
To instruct lsp-julia
not to use the built-in package:
;; ~/.doom.d/config.el
(setq lsp-julia-package-dir nil)
To find your installation of LanguageServer.jl
, eglot-jl
needs to know the
environment in which it is installed. This is set to v1.0 by default as it is
the current LTS:
(setq lsp-julia-default-environment "~/.julia/environments/v1.0")
eglot-jl
To find your installation of LanguageServer.jl
, eglot-jl
must know the
environment in which it is installed. This is set to v1.0 by default as it is
the current LTS:
;; ~/.doom.d/config.el
(setq eglot-jl-language-server-project "~/.julia/environments/v1.0")
But to let eglot-jl
use the environment bundled with it, set it to
eglot-jl-base
instead:
;; ~/.doom.d/config.el
(after! eglot-jl
(setq eglot-jl-language-server-project eglot-jl-base))
Features
Language Server
+lsp
adds code completion, syntax checking, formatting and other lsp-mode
or
eglot
features. It requires LanguageServer.jl
, the installation of which is
described above.
Configuration
Change the default environment for the Julia language server
lsp-julia
requires a variable be set for the Julia environment. This is set to
v1.0 by default as it is the current LTS.
;; ~/.doom.d/config.el
(setq lsp-julia-default-environment "~/.julia/environments/v1.0")