summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rwxr-xr-xutils/installer/install.sh9
-rw-r--r--utils/installer/lv-config.example-no-ts.lua64
-rw-r--r--utils/installer/lv-config.example.lua88
-rwxr-xr-xutils/installer/uninstall.sh4
-rw-r--r--utils/julia/Manifest.toml182
-rw-r--r--utils/julia/Project.toml3
-rw-r--r--utils/julia/run.jl37
7 files changed, 265 insertions, 122 deletions
diff --git a/utils/installer/install.sh b/utils/installer/install.sh
index 9ec19bd5..3d7fcc33 100755
--- a/utils/installer/install.sh
+++ b/utils/installer/install.sh
@@ -124,8 +124,13 @@ cloneconfig() {
+PackerSync
printf "\nCompile Complete\n"
- rm "$HOME/.config/lvim/lv-config.lua"
- cp "$HOME/.local/share/lunarvim/lvim/utils/installer/lv-config.example.lua" "$HOME/.config/lvim/lv-config.lua"
+
+ if [ -e "$HOME/.local/share/lunarvim/lvim/init.lua" ]; then
+ echo 'lv-config already present'
+ else
+ cp "$HOME/.local/share/lunarvim/lvim/utils/installer/lv-config.example.lua" "$HOME/.config/lvim/lv-config.lua"
+ fi
+
}
asktoinstallnode() {
diff --git a/utils/installer/lv-config.example-no-ts.lua b/utils/installer/lv-config.example-no-ts.lua
index 4016582c..b1e3bc8a 100644
--- a/utils/installer/lv-config.example-no-ts.lua
+++ b/utils/installer/lv-config.example-no-ts.lua
@@ -10,16 +10,14 @@ an executable
-- general
-O.format_on_save = true
-O.lint_on_save = true
-O.completion.autocomplete = true
-O.colorscheme = "spacegray"
-O.default_options.wrap = true
-O.default_options.timeoutlen = 100
+lvim.format_on_save = true
+lvim.lint_on_save = true
+lvim.completion.autocomplete = true
+lvim.colorscheme = "spacegray"
-- keymappings
-O.keys.leader_key = "space"
+lvim.leader = "space"
-- overwrite the key-mappings provided by LunarVim for any mode, or leave it empty to keep them
--- O.keys.normal_mode = {
+-- lvim.keys.normal_mode = {
-- Page down/up
-- {'[d', '<PageUp>'},
-- {']d', '<PageDown>'},
@@ -38,22 +36,20 @@ O.keys.leader_key = "space"
-- TODO: User Config for predefined plugins
-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile
-O.plugin.dashboard.active = true
-O.plugin.terminal.active = true
-O.plugin.zen.active = false
-O.plugin.zen.window.height = 0.90
-O.plugin.nvimtree.side = "left"
-O.plugin.nvimtree.show_icons.git = 0
+lvim.builtin.dashboard.active = true
+lvim.builtin.terminal.active = true
+lvim.builtin.nvimtree.side = "left"
+lvim.builtin.nvimtree.show_icons.git = 0
-- if you don't want all the parsers change this to a table of the ones you want
-O.treesitter.ensure_installed = {}
-O.treesitter.ignore_install = { "haskell" }
-O.treesitter.highlight.enabled = true
+lvim.treesitter.ensure_installed = {}
+lvim.treesitter.ignore_install = { "haskell" }
+lvim.treesitter.highlight.enabled = true
-- generic LSP settings
-- you can set a custom on_attach function that will be used for all the language servers
-- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion>
--- O.lsp.on_attach_callback = function(client, bufnr)
+-- lvim.lsp.on_attach_callback = function(client, bufnr)
-- local function buf_set_option(...)
-- vim.api.nvim_buf_set_option(bufnr, ...)
-- end
@@ -61,29 +57,8 @@ O.treesitter.highlight.enabled = true
-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
-- end
--- python
-O.lang.python.diagnostics.virtual_text = true
-O.lang.python.analysis.use_library_code_types = true
--- To change default formatter from yapf to black
--- O.lang.python.formatter.exe = "black"
--- O.lang.python.formatter.args = {"-"}
--- To change enabled linters
--- https://github.com/mfussenegger/nvim-lint#available-linters
--- O.lang.python.linters = { "flake8", "pylint", "mypy", ... }
-
--- go
--- To change default formatter from gofmt to goimports
--- O.lang.formatter.go.exe = "goimports"
-
--- javascript
-O.lang.tsserver.linter = nil
-
--- latex
--- O.lang.latex.auto_save = false
--- O.lang.latex.ignore_errors = { }
-
-- Additional Plugins
--- O.user_plugins = {
+-- lvim.plugins = {
-- {"folke/tokyonight.nvim"}, {
-- "ray-x/lsp_signature.nvim",
-- config = function() require"lsp_signature".on_attach() end,
@@ -92,13 +67,6 @@ O.lang.tsserver.linter = nil
-- }
-- Autocommands (https://neovim.io/doc/user/autocmd.html)
--- O.user_autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}}
+-- lvim.autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}}
-- Additional Leader bindings for WhichKey
--- O.user_which_key = {
--- A = {
--- name = "+Custom Leader Keys",
--- a = { "<cmd>echo 'first custom command'<cr>", "Description for a" },
--- b = { "<cmd>echo 'second custom command'<cr>", "Description for b" },
--- },
--- }
diff --git a/utils/installer/lv-config.example.lua b/utils/installer/lv-config.example.lua
index 5754b160..027b1b86 100644
--- a/utils/installer/lv-config.example.lua
+++ b/utils/installer/lv-config.example.lua
@@ -10,16 +10,14 @@ an executable
-- general
-O.format_on_save = true
-O.lint_on_save = true
-O.completion.autocomplete = true
-O.colorscheme = "spacegray"
-O.default_options.wrap = true
-O.default_options.timeoutlen = 100
+lvim.format_on_save = true
+lvim.lint_on_save = true
+lvim.completion.autocomplete = true
+lvim.colorscheme = "spacegray"
-- keymappings
-O.keys.leader_key = "space"
+lvim.leader = "space"
-- overwrite the key-mappings provided by LunarVim for any mode, or leave it empty to keep them
--- O.keys.normal_mode = {
+-- lvim.keys.normal_mode = {
-- Page down/up
-- {'[d', '<PageUp>'},
-- {']d', '<PageDown>'},
@@ -38,22 +36,20 @@ O.keys.leader_key = "space"
-- TODO: User Config for predefined plugins
-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile
-O.plugin.dashboard.active = true
-O.plugin.terminal.active = true
-O.plugin.zen.active = false
-O.plugin.zen.window.height = 0.90
-O.plugin.nvimtree.side = "left"
-O.plugin.nvimtree.show_icons.git = 0
+lvim.builtin.dashboard.active = true
+lvim.builtin.terminal.active = true
+lvim.builtin.nvimtree.side = "left"
+lvim.builtin.nvimtree.show_icons.git = 0
-- if you don't want all the parsers change this to a table of the ones you want
-O.treesitter.ensure_installed = "maintained"
-O.treesitter.ignore_install = { "haskell" }
-O.treesitter.highlight.enabled = true
+lvim.treesitter.ensure_installed = "maintained"
+lvim.treesitter.ignore_install = { "haskell" }
+lvim.treesitter.highlight.enabled = true
-- generic LSP settings
-- you can set a custom on_attach function that will be used for all the language servers
-- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion>
--- O.lsp.on_attach_callback = function(client, bufnr)
+-- lvim.lsp.on_attach_callback = function(client, bufnr)
-- local function buf_set_option(...)
-- vim.api.nvim_buf_set_option(bufnr, ...)
-- end
@@ -62,54 +58,9 @@ O.treesitter.highlight.enabled = true
-- end
-- python
-O.lang.python.diagnostics.virtual_text = true
-O.lang.python.analysis.use_library_code_types = true
--- To change default formatter from yapf to black
--- O.lang.python.formatter.exe = "black"
--- O.lang.python.formatter.args = {"-"}
--- To change enabled linters
--- https://github.com/mfussenegger/nvim-lint#available-linters
--- O.lang.python.linters = { "flake8", "pylint", "mypy", ... }
-
--- go
--- To change default formatter from gofmt to goimports
--- O.lang.formatter.go.exe = "goimports"
-
--- javascript
-O.lang.tsserver.linter = nil
-
--- rust
--- O.lang.rust.rust_tools = true
--- O.lang.rust.formatter = {
--- exe = "rustfmt",
--- args = {"--emit=stdout", "--edition=2018"},
--- }
-
--- scala
--- O.lang.scala.metals.active = true
--- O.lang.scala.metals.server_version = "0.10.5",
-
---LaTeX
--- Options: https://github.com/latex-lsp/texlab/blob/master/docs/options.md
-O.lang.latex.active = true
-O.lang.latex.aux_directory = "."
-O.lang.latex.bibtex_formatter = "texlab"
-O.lang.latex.build.args = { "-pdf", "-interaction=nonstopmode", "-synctex=1", "%f" }
-O.lang.latex.build.executable = "latexmk"
-O.lang.latex.build.forward_search_after = false
-O.lang.latex.build.on_save = false
-O.lang.latex.chktex.on_edit = false
-O.lang.latex.chktex.on_open_and_save = false
-O.lang.latex.diagnostics_delay = 300
-O.lang.latex.formatter_line_length = 80
-O.lang.latex.forward_search.executable = "zathura"
-O.lang.latex.latex_formatter = "latexindent"
-O.lang.latex.latexindent.modify_line_breaks = false
--- O.lang.latex.auto_save = false
--- O.lang.latex.ignore_errors = { }
-- Additional Plugins
--- O.user_plugins = {
+-- lvim.plugins = {
-- {"folke/tokyonight.nvim"}, {
-- "ray-x/lsp_signature.nvim",
-- config = function() require"lsp_signature".on_attach() end,
@@ -118,13 +69,6 @@ O.lang.latex.latexindent.modify_line_breaks = false
-- }
-- Autocommands (https://neovim.io/doc/user/autocmd.html)
--- O.user_autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}}
+-- lvim.autocommands = {{ "BufWinEnter", "*", "echo \"hi again\""}}
-- Additional Leader bindings for WhichKey
--- O.user_which_key = {
--- A = {
--- name = "+Custom Leader Keys",
--- a = { "<cmd>echo 'first custom command'<cr>", "Description for a" },
--- b = { "<cmd>echo 'second custom command'<cr>", "Description for b" },
--- },
--- }
diff --git a/utils/installer/uninstall.sh b/utils/installer/uninstall.sh
new file mode 100755
index 00000000..faa76c37
--- /dev/null
+++ b/utils/installer/uninstall.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+rm -rf .local/share/lunarvim
+sudo rm /usr/local/bin/lvim
diff --git a/utils/julia/Manifest.toml b/utils/julia/Manifest.toml
new file mode 100644
index 00000000..c6c12950
--- /dev/null
+++ b/utils/julia/Manifest.toml
@@ -0,0 +1,182 @@
+# This file is machine-generated - editing it directly is not advised
+
+[[ArgTools]]
+uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
+
+[[Artifacts]]
+uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
+
+[[Base64]]
+uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
+
+[[CSTParser]]
+deps = ["Tokenize"]
+git-tree-sha1 = "9723e1c07c1727082e169ca50789644a552fb023"
+uuid = "00ebfdb7-1f24-5e51-bd34-a7502290713f"
+version = "3.2.3"
+
+[[Dates]]
+deps = ["Printf"]
+uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+
+[[DocumentFormat]]
+deps = ["CSTParser", "FilePathsBase", "Tokenize"]
+git-tree-sha1 = "cf048d65cbcdec70f10745e5801eeb0c6478a7f7"
+uuid = "ffa9a821-9c82-50df-894e-fbcef3ed31cd"
+version = "3.2.4"
+
+[[Downloads]]
+deps = ["ArgTools", "LibCURL", "NetworkOptions"]
+uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
+
+[[FilePathsBase]]
+deps = ["Dates", "Mmap", "Printf", "Test", "UUIDs"]
+git-tree-sha1 = "0f5e8d0cb91a6386ba47bd1527b240bd5725fbae"
+uuid = "48062228-2e41-5def-b9a4-89aafe57970f"
+version = "0.9.10"
+
+[[InteractiveUtils]]
+deps = ["Markdown"]
+uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
+
+[[JSON]]
+deps = ["Dates", "Mmap", "Parsers", "Unicode"]
+git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4"
+uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+version = "0.21.1"
+
+[[JSONRPC]]
+deps = ["JSON", "UUIDs"]
+git-tree-sha1 = "1e9a820a29b37864a6738b8fd00eedf3fb8d772e"
+uuid = "b9b8584e-8fd3-41f9-ad0c-7255d428e418"
+version = "1.3.3"
+
+[[LanguageServer]]
+deps = ["CSTParser", "DocumentFormat", "JSON", "JSONRPC", "Markdown", "Pkg", "REPL", "StaticLint", "SymbolServer", "Tokenize", "URIParser", "UUIDs"]
+git-tree-sha1 = "ac9f7da10fbba9cad8455a3436d121eaf8f308f6"
+uuid = "2b0e0bc5-e4fd-59b4-8912-456d1b03d8d7"
+version = "4.0.0"
+
+[[LibCURL]]
+deps = ["LibCURL_jll", "MozillaCACerts_jll"]
+uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
+
+[[LibCURL_jll]]
+deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
+uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
+
+[[LibGit2]]
+deps = ["Base64", "NetworkOptions", "Printf", "SHA"]
+uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
+
+[[LibSSH2_jll]]
+deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
+uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
+
+[[Libdl]]
+uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
+
+[[Logging]]
+uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
+
+[[Markdown]]
+deps = ["Base64"]
+uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
+
+[[MbedTLS_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
+
+[[Mmap]]
+uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+
+[[MozillaCACerts_jll]]
+uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
+
+[[NetworkOptions]]
+uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
+
+[[Parsers]]
+deps = ["Dates"]
+git-tree-sha1 = "c8abc88faa3f7a3950832ac5d6e690881590d6dc"
+uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+version = "1.1.0"
+
+[[Pkg]]
+deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
+uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
+
+[[Printf]]
+deps = ["Unicode"]
+uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
+
+[[REPL]]
+deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"]
+uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
+
+[[Random]]
+deps = ["Serialization"]
+uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
+
+[[SHA]]
+uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
+
+[[Serialization]]
+uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+
+[[Sockets]]
+uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
+
+[[StaticLint]]
+deps = ["CSTParser", "Serialization", "SymbolServer"]
+git-tree-sha1 = "337ca6f234947b31e921a424f7d0ec8dda22ed49"
+uuid = "b3cc710f-9c33-5bdb-a03d-a94903873e97"
+version = "8.0.0"
+
+[[SymbolServer]]
+deps = ["InteractiveUtils", "LibGit2", "Markdown", "Pkg", "REPL", "SHA", "Serialization", "Sockets", "UUIDs"]
+git-tree-sha1 = "9053544866f779dfb87027c52a332e2830e868ab"
+uuid = "cf896787-08d5-524d-9de7-132aaa0cb996"
+version = "7.0.0"
+
+[[TOML]]
+deps = ["Dates"]
+uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
+
+[[Tar]]
+deps = ["ArgTools", "SHA"]
+uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
+
+[[Test]]
+deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
+uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
+
+[[Tokenize]]
+git-tree-sha1 = "eee92eda3cc8e104b7e56ff4c1fcf0d78ca37c89"
+uuid = "0796e94c-ce3b-5d07-9a54-7f471281c624"
+version = "0.5.18"
+
+[[URIParser]]
+deps = ["Unicode"]
+git-tree-sha1 = "53a9f49546b8d2dd2e688d216421d050c9a31d0d"
+uuid = "30578b45-9adc-5946-b283-645ec420af67"
+version = "0.4.1"
+
+[[UUIDs]]
+deps = ["Random", "SHA"]
+uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
+
+[[Unicode]]
+uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+
+[[Zlib_jll]]
+deps = ["Libdl"]
+uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
+
+[[nghttp2_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
+
+[[p7zip_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
diff --git a/utils/julia/Project.toml b/utils/julia/Project.toml
new file mode 100644
index 00000000..50cd7702
--- /dev/null
+++ b/utils/julia/Project.toml
@@ -0,0 +1,3 @@
+[deps]
+LanguageServer = "2b0e0bc5-e4fd-59b4-8912-456d1b03d8d7"
+SymbolServer = "cf896787-08d5-524d-9de7-132aaa0cb996"
diff --git a/utils/julia/run.jl b/utils/julia/run.jl
new file mode 100644
index 00000000..4662e1b2
--- /dev/null
+++ b/utils/julia/run.jl
@@ -0,0 +1,37 @@
+# Load LanguageServer from the project next to this file
+## Save old load path
+old_load_path = copy(LOAD_PATH)
+push!(empty!(LOAD_PATH), @__DIR__)
+## Load packages
+using LanguageServer, SymbolServer
+## Restore old load path
+append!(empty!(LOAD_PATH), old_load_path)
+
+# Figure out the active project
+## This configuration is a good default
+project_path = let
+ dirname(something(
+ ## 1. Finds an explicitly set project (JULIA_PROJECT)
+ Base.load_path_expand((
+ p = get(ENV, "JULIA_PROJECT", nothing);
+ p === nothing ? nothing : isempty(p) ? nothing : p
+ )),
+ ## 2. Look for a Project.toml file in the current working directory,
+ ## or parent directories, with $HOME as an upper boundary
+ Base.current_project(),
+ ## 3. First entry in the load path
+ get(Base.load_path(), 1, nothing),
+ ## 4. Fallback to default global environment,
+ ## this is more or less unreachable
+ Base.load_path_expand("@v#.#"),
+ ))
+end
+
+# Depot path for the server to index (empty uses default).
+depot_path = get(ENV, "JULIA_DEPOT_PATH", "")
+
+# Start the server
+@info "Running julia language server" VERSION project_path depot_path
+server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path)
+server.runlinter = true
+run(server)