;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\207" [require lsp-mode find-func] 2) (defconst lsp-julia--self-path (byte-code "\300\301\302!!\207" [file-name-directory find-library-name "lsp-julia"] 3)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\300\315\302\303\316DD\317\306\307\310\311&\210\300\320\302\303\321DD\322\306\323\310\311&\210\300\324\302\303\325DD\326\306\327\310\311&\210\300\330\302\303\331DD\332\306\333\310\311&\210\300\334\302\303\335DD\336\306\307\310\311&\210\300\337\302\303\340DD\341\306\342\310\311&\210\300\343\302\303\344DD\345\306\346\310\311&\210\300\347\302\303\350DD\351\306\346\310\311&\210\300\352\302\303\353DD\354\306\346\310\311&\210\300\355\302\303\356DD\357\306\346\310\311&\210\300\360\302\303\361DD\362\306\346\310\311&\210\300\363\302\303\364DD\365\306\346\310\311&\210\300\366\302\303\367DD\370\306\346\310\311&\210\300\371\302\303\372DD\373\306\346\310\311&\210\300\374\302\303\375DD\376\306\346\310\311&\210\300\377\302\303\201@DD\201A\306\346\310\311&\210\300\201B\302\303\201CDD\201D\306\307\201E\201F\310\311& \210\300\201G\302\303\201HDD\201I\306\346\310\311&\210\300\201J\302\303\201KDD\201L\306\346\310\311&\210\300\201M\302\303\201NDD\201O\306\346\310\311&\210\300\201P\302\303\201QDD\201R\306\346\310\311&\210\300\201S\302\303\201TDD\201U\306\346\310\311&\210\300\201V\302\303\201WDD\201X\306\346\310\311&\210\300\201Y\302\303\201ZDD\201[\306\346\310\311&\210\300\201\\\302\303\201]DD\201^\306\346\310\311&\210\300\201_\302\303\201`DD\201a\306\346\310\311&\210\300\201b\302\303\201cDD\201d\306\346\310\311&\210\201e\201f!\207" [custom-declare-variable lsp-julia-package-dir funcall function #[0 "\301P\207" [lsp-julia--self-path "languageserver"] 2] "The path where `LanguageServer.jl' and friends are installed.\nSet to nil if you want to use the globally installed versions." :type string :group lsp-julia lsp-julia-default-environment #[0 "\300\207" [#1="~/.julia/environments/v1.0"] 1 #1#] "The path to the default environment." lsp-julia-command #[0 "\300\207" [#2="julia"] 1 #2#] "Command to invoke julia with." lsp-julia-flags #[0 "\203\n\301P\302B\207\303\207" [lsp-julia-package-dir "--project=" ("--startup-file=no" "--history-file=no") ("--startup-file=no" "--history-file=no")] 2] "List of additional flags to call julia with." (repeat (string :tag "argument")) lsp-julia-symbol-server-store-path #[0 "\300\207" [#3="~/.julia/symbolstorev2-lsp-julia"] 1 #3#] "The cache directory for `SymbolServer.jl'." directory lsp-julia-timeout #[0 "\300\207" [30] 1] "Time before symbol `lsp-mode' should assume julia just ain't gonna start." number lsp-julia-default-depot #[0 "\300\207" [#4=""] 1 #4#] "The default depot path, used if `JULIA_DEPOT_PATH' is unset." lsp-julia-format-indent #[0 "\300\207" [4] 1] "Indent size for formatting." integer lsp-julia-format-indents #[0 "\300\207" [t] 1] "Format file indents." boolean lsp-julia-format-ops #[0 "\300\207" [t] 1] "Format whitespace around operators." lsp-julia-format-tuples #[0 "\300\207" [t] 1] "Format tuples." lsp-julia-format-curly #[0 "\300\207" [t] 1] "Format braces." lsp-julia-format-calls #[0 "\300\207" [t] 1] "Format function calls." lsp-julia-format-iterops #[0 "\300\207" [t] 1] "Format loop iterators." lsp-julia-format-comments #[0 "\300\207" [t] 1] "Format comments." lsp-julia-format-docs #[0 "\300\207" [t] 1] "Format inline documentation." lsp-julia-format-kw #[0 "\300\207" [t] 1] "Remove spaces around = in function keywords." lsp-julia-lint-run #[0 "\300\207" [t] 1] "Run the linter on active files." lsp-julia-lint-missingrefs #[0 "\300\207" [#5="all"] 1 #5#] "Highlight unknown symbols. The `symbols` option will not mark\nunknown fields." :options ("none" "symbols" "all") lsp-julia-lint-call #[0 "\300\207" [t] 1] "This compares call signatures against all known methods for\nthe called function. Calls with too many or too few arguments, or\nunknown keyword parameters are highlighted." lsp-julia-lint-iter #[0 "\300\207" [t] 1] "Check iterator syntax of loops. Will identify, for example,\nattempts to iterate over single values." lsp-julia-lint-constif #[0 "\300\207" [t] 1] "Check for constant conditionals in if statements that result\nin branches never being reached.." lsp-julia-lint-lazy #[0 "\300\207" [t] 1] "Check for deterministic lazy boolean operators." lsp-julia-lint-datadecl #[0 "\300\207" [t] 1] "Check variables used in type declarations are datatypes." lsp-julia-lint-typeparam #[0 "\300\207" [t] 1] "Check parameters declared in `where` statements or datatype\ndeclarations are used." lsp-julia-lint-modname #[0 "\300\207" [t] 1] "Check submodule names do not shadow their parent's name." lsp-julia-lint-pirates #[0 "\300\207" [t] 1] "Check for type piracy - the overloading of external functions\nwith methods specified for external datatypes. 'External' here\nrefers to imported code." lsp-julia-lint-useoffuncargs #[0 "\300\207" [t] 1] "Check that all declared arguments are used within the function\nbody." lsp-julia-lint-nothingcomp #[0 "\300\207" [t] 1] "Check for use of `==` rather than `===` when comparing against\n`nothing`." lsp-register-custom-settings (("julia.format.indent" lsp-julia-format-indent) ("julia.format.indents" lsp-julia-format-indents t) ("julia.format.ops" lsp-julia-format-ops t) ("julia.format.tuples" lsp-julia-format-tuples t) ("julia.format.curly" lsp-julia-format-curly t) ("julia.format.calls" lsp-julia-format-calls t) ("julia.format.iterOps" lsp-julia-format-iterops t) ("julia.format.comments" lsp-julia-format-comments t) ("julia.format.docs" lsp-julia-format-docs t) ("julia.format.kw" lsp-julia-format-kw t) ("julia.lint.run" lsp-julia-lint-run t) ("julia.lint.missingrefs" lsp-julia-lint-missingrefs) ("julia.lint.call" lsp-julia-lint-call t) ("julia.lint.iter" lsp-julia-lint-iter t) ("julia.lint.constif" lsp-julia-lint-constif t) ("julia.lint.lazyif" lsp-julia-lint-lazy t) ("julia.lint.datadecl" lsp-julia-lint-datadecl t) ("julia.lint.typeparam" lsp-julia-lint-typeparam t) ("julia.lint.modname" lsp-julia-lint-modname t) ("julia.lint.pirates" lsp-julia-lint-pirates t) ("julia.lint.useoffuncargs" lsp-julia-lint-useoffuncargs t) ("julia.lint.nothingcomp" lsp-julia-lint-nothingcomp t))] 10) #@61 Get the (Julia) project root directory of the current file. (defalias 'lsp-julia--get-root #[0 "\302\303\304\305\"\206\304\306\"\206 !\302Q\207" [default-directory lsp-julia-default-environment "\"" expand-file-name locate-dominating-file "Project.toml" "JuliaProject.toml"] 5 (#$ . 6409)]) #@29 Get the (Julia) depot path. (defalias 'lsp-julia--get-depot-path #[0 "\301\302!\211\203 \211\202\f\303\303Q\207" [lsp-julia-default-depot getenv "JULIA_DEPOT_PATH" "\""] 5 (#$ . 6712)]) #@95 Convert the variable `lsp-julia-symbol-server-store-path' to a string or "nothing" if `nil' (defalias 'lsp-julia--symbol-server-store-path-to-jl #[0 "\203\301!\302\303\"\210\304\304Q\207\305\207" [lsp-julia-symbol-server-store-path expand-file-name make-directory t "\"" "nothing"] 4 (#$ . 6908)]) #@49 The command to lauch the Julia Language Server. (defalias 'lsp-julia--rls-command #[0 "\302 \303\304 \305\306 \307\310 \311\260C\"B\207" [lsp-julia-command lsp-julia-flags append "-eimport Pkg; Pkg.instantiate(); using InteractiveUtils, Sockets, SymbolServer, LanguageServer; Union{Int64, String}(x::String) = x; server = LanguageServer.LanguageServerInstance( stdin, stdout," lsp-julia--get-root "," lsp-julia--get-depot-path ", nothing, " lsp-julia--symbol-server-store-path-to-jl "); run(server);"] 10 (#$ . 7220)]) #@50 The command to update the Julia Language Server. (defalias 'lsp-julia-update-languageserver #[0 "\302\303\304\305\306 \307\"%\207" [lsp-julia-command lsp-julia-flags apply start-process "lsp-julia-languageserver-updater" "*lsp-julia-languageserver-updater*" append ("-e import Pkg; println(Pkg.project().path); Pkg.update()")] 8 (#$ . 7748) nil]) (defconst lsp-julia--handlers '(("window/setStatusBusy" lambda (w _p)) ("window/setStatusReady" lambda (w _p)))) (byte-code "\300\301\302\303\304!\305\306\307\310\311\312&!\210\313\314!\207" [lsp-register-client make-lsp-client :new-connection lsp-stdio-connection lsp-julia--rls-command :major-modes (julia-mode ess-julia-mode) :server-id julia-ls :multi-root t provide lsp-julia] 10)