#+TITLE: lang/julia #+DATE: April 8, 2020 #+SINCE: {replace with next tagged release version} #+STARTUP: inlineimages nofold * Table of Contents :TOC_3:noexport: - [[#description][Description]] - [[#module-flags][Module Flags]] - [[#plugins][Plugins]] - [[#prerequisites][Prerequisites]] - [[#language-server][Language Server]] - [[#features][Features]] - [[#language-server-1][Language Server]] - [[#configuration][Configuration]] * Description Adds Julia support 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= Language Server Protocol support ** Plugins + [[https://github.com/tpapp/julia-repl][julia-mode]] + [[https://github.com/JuliaEditorSupport/julia-emacs/][julia-repl]] + =+lsp= and =:tools lsp= + [[https://github.com/non-jedi/lsp-julia][lsp-julia]]* + [[https://github.com/emacs-lsp/lsp-mode][lsp]] * Prerequisites This module has no direct prerequisites. ** Language Server ~+lsp~ requires the a manual installation of ~lsp-julia~ as it comes with a packaged version of ~LanguageServer.jl~ and its dependencies. #+BEGIN_SRC elisp ;; ~/.doom.d/packages.el (package! lsp-julia :recipe (:host github :repo "non-jedi/lsp-julia")) #+END_SRC * Features # An in-depth list of features, how to use them, and their dependencies. ** Language Server ~+lsp~ adds code completion, syntax checking, formatting and other ~lsp-mode~ features. This requires a manual installation of ~lsp-julia~ as it bundles ~LanguageServer.jl~ and its dependencies. * Configuration ~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. #+BEGIN_SRC elisp ;; ~/.doom.d/config.el (setq lsp-julia-default-environment "~/.julia/environments/v1.0") #+END_SRC If you would like to use your own installation of ~LanguageServer.jl~, put the following in your personal ~config.el~. #+BEGIN_SRC elisp ;; ~/.doom.d/config.el (setq lsp-julia-package-dir nil) #+END_SRC