;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303\304\305#\210\306\307\304\310\311\302%\210\312\313\314\315\311\307\316\317&\210\312\320\321\322\311\307\316\323&\210\312\324\314\325\311\307\316\317&\210\312\326\304\327\311\307\316\317&\210\312\330\331\332\311\307\316\317&\210\312\333\314\334\311\307\316\317&\210\312\335\336\337\311\307\316\340&\210\306\341\304\342\311\307%\210\312\343\314\344\311\341\316\317&\210\312\345\314\346\311\341\316\317&\210\312\347\314\350\311\341\316\317&\210\312\351\314\352\311\341\316\317&\210\312\353\314\354\311\341\316\317&\210\312\355\314\356\311\341\316\317&\210\312\357\314\360\311\341\316\317&\210\312\361\314\362\311\341\316\317&\210\312\363\314\364\311\341\316\317&\210\312\365\314\366\311\341\316\317&\210\312\367\314\370\311\341\316\317&\210\312\371\314\372\311\341\316\317&\210\312\313\314\373\311\341\316\317&\210\312\374\375\376\311\307\316\377&\210\312\201@\201A\201B\311\307\316\377&\210\312\201C\201D\201E\311\307\316\201F&\210\312\201G\201H\201I\311\307\316\201J&\207" [require haskell lsp-mode projectile nil noerror custom-declare-group lsp-haskell "Customization group for ‘lsp-haskell’." :group custom-declare-variable lsp-haskell-hlint-on t "Get suggestions from hlint." :type boolean lsp-haskell-max-number-of-problems 100 "Controls the maximum number of problems produced by the server." number lsp-haskell-diagnostics-on-change "Compute diagnostics continuously as you type.\nTurn off to only generate diagnostics on file save." lsp-haskell-liquid-on "Get diagnostics from liquid haskell." lsp-haskell-completion-snippets-on lsp-enable-snippet "Show snippets with type information when using code completion." lsp-haskell-format-on-import-on "When adding an import, use the formatter on the result." lsp-haskell-formatting-provider "ormolu" "The formatter to use when formatting a document or range." (choice (const :tag "brittany" "brittany") (const :tag "floskell" "floskell") (const :tag "fourmolu" "fourmolu") (const :tag "ormolu" "ormolu") (const :tag "stylish-haskell" "stylish-haskell") (const :tag "none" "none")) lsp-haskell-plugins "Customization group for 'lsp-haskell' plugins." lsp-haskell-ghcide-on "Turn on the ghcide plugins." lsp-haskell-pragmas-on "Turn on the pragmas plugin." lsp-haskell-floskell-on "Turn on the floskell plugin." lsp-haskell-fourmolu-on "Turn on the fourmolu plugin." lsp-haskell-ormolu-on "Turn on the ormolu plugin." lsp-haskell-stylish-haskell-on "Turn on the stylish-haskell plugin." lsp-haskell-brittany-on "Turn on the brittany plugin." lsp-haskell-tactic-on "Turn on the tactic plugin." lsp-haskell-retrie-on "Turn on the retrie plugin." lsp-haskell-eval-on "Turn on the eval plugin." lsp-haskell-importlens-on "Turn on the explicit import lens." lsp-haskell-modulename-on "Turn on the moduleName plugin." "Turn on the hlint plugin." lsp-haskell-server-path "haskell-language-server-wrapper" "The language server executable.\nCan be something on the $PATH (e.g. 'ghcide') or a path to an executable itself." string lsp-haskell-server-log-file (expand-file-name "hls.log" temporary-file-directory) "The log file used by the server.\nNote that this is passed to the server via 'lsp-haskell-server-args', so if\nyou override that setting then this one will have no effect." lsp-haskell-server-args `("-d" "-l" ,lsp-haskell-server-log-file) "The arguments for starting the language server.\nFor a debug log when using haskell-language-server, use `-d -l /tmp/hls.log'." (repeat (string :tag "Argument")) lsp-haskell-server-wrapper-function #'identity "Use this to wrap the language server process started by lsp-haskell.\nFor example, use the following the start the process in a nix-shell:\n(lambda (argv)\n (append\n (append (list \"nix-shell\" \"-I\" \".\" \"--command\" )\n (list (mapconcat 'identity argv \" \"))\n )\n (list (concat (lsp-haskell--get-root) \"/shell.nix\"))\n )\n )" (choice (function-item :tag "None" :value identity) (function :tag "Custom function"))] 8) #@28 Get the session cabal-dir. (defalias 'lsp-haskell--session-cabal-dir #[nil "\302 \211\203 \303!\202\304\305\306 \"\210 *\207" [cabal-file cabal-dir haskell-cabal-find-file file-name-directory "." message "cabal-dir: %s"] 4 (#$ . 4131)]) #@120 Get project root directory. First searches for root via projectile. Tries to find cabal file if projectile way fails (defalias 'lsp-haskell--get-root #[nil "\301 \211\302\230\203\303\304\"\202)\207" [dir lsp-haskell--session-cabal-dir "/" user-error "Couldn't find cabal file, using: %s"] 4 (#$ . 4381)]) #@226 Command and arguments for launching the inferior language server process. These are assembled from the customizable variables `lsp-haskell-server-path' and `lsp-haskell-server-args' and `lsp-haskell-server-wrapper-function'. (defalias 'lsp-haskell--server-command #[nil "\303 \304D\n\"!\207" [lsp-haskell-server-wrapper-function lsp-haskell-server-path lsp-haskell-server-args append "--lsp"] 4 (#$ . 4702)]) (byte-code "\300\301!\210\302\303\304\"\210\305\306\307\310\311!\312\313\314\315\316\317\320\321\322\323&\f!\210\324\315!\207" [lsp-register-custom-settings (("haskell.formattingProvider" lsp-haskell-formatting-provider) ("haskell.formatOnImportOn" lsp-haskell-format-on-import-on t) ("haskell.completionSnippetsOn" lsp-haskell-completion-snippets-on t) ("haskell.liquidOn" lsp-haskell-liquid-on t) ("haskell.diagnosticsOnChange" lsp-haskell-diagnostics-on-change t) ("haskell.maxNumberOfProblems" lsp-haskell-max-number-of-problems) ("haskell.hlintOn" lsp-haskell-hlint-on t) ("haskell.plugin.ghcide.globalOn" lsp-haskell-ghcide-on t) ("haskell.plugin.pragmas.globalOn" lsp-haskell-pragmas-on t) ("haskell.plugin.floskell.globalOn" lsp-haskell-floskell-on t) ("haskell.plugin.fourmolu.globalOn" lsp-haskell-fourmolu-on t) ("haskell.plugin.ormolu.globalOn" lsp-haskell-ormolu-on t) ("haskell.plugin.stylish-haskell.globalOn" lsp-haskell-stylish-haskell-on t) ("haskell.plugin.brittany.globalOn" lsp-haskell-brittany-on t) ("haskell.plugin.tactic.globalOn" lsp-haskell-tactic-on t) ("haskell.plugin.retrie.globalOn" lsp-haskell-retrie-on t) ("haskell.plugin.eval.globalOn" lsp-haskell-eval-on t) ("haskell.plugin.importLens.globalOn" lsp-haskell-importlens-on t) ("haskell.plugin.moduleName.globalOn" lsp-haskell-modulename-on t) ("haskell.plugin.hlint.globalOn" lsp-haskell-hlint-on t)) add-to-list lsp-language-id-configuration (haskell-literate-mode . "haskell") lsp-register-client make-lsp--client :new-connection lsp-stdio-connection #[nil "\300 \207" [lsp-haskell--server-command] 1] :major-modes (haskell-mode haskell-literate-mode) :server-id lsp-haskell :initialized-fn #[(workspace) "\302\303\304!!)\207" [workspace lsp--cur-workspace lsp--set-configuration lsp-configuration-section "haskell"] 3] :language-id "haskell" :completion-in-comments\? t provide] 14)