Skip to content

Commit c756173

Browse files
authored
Merge pull request ChristianChiarulli#4 from abzcoding/feature/lang-refactor
2 parents 4f12606 + 7e93667 commit c756173

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+467
-603
lines changed

Diff for: README.md

+2-13
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ I've customized my ZSH/Tmux/Alacritty too much, so it might not work properly
3636
# install LunarVim
3737
mv ~/.config/lvim ~/.config/lvim_backup
3838
git clone https://github.com/abzcoding/lvim.git ~/.config/lvim
39+
lvim +LvimUpdate +LvimCacheReset +q
3940
brew install luarocks
4041
luarocks install luacheck # if you want to use luacheck
4142
cargo install selene # if you want to use selene instead of luacheck
@@ -58,19 +59,7 @@ lvim # run :PackerSync
5859
Install the language servers that you need
5960

6061
```vim
61-
:LspInstall lua
62-
:LspInstall yaml
63-
:LspInstall dockerfile
64-
:LspInstall python
65-
:LspInstall vim
66-
:LspInstall json
67-
:LspInstall go
68-
:LspInstall bash
69-
:LspInstall cpp
70-
:LspInstall csharp
71-
:LspInstall rust
72-
:LspInstall cmake
73-
:LspInstall tailwindcss
62+
:LspInstall ansiblels bashls clangd cssls jdtls pyright rust_analyzer terraformls vimls jsonls dockerls cmake gopls sumneko_lua tailwindcss texlab tsserver yamlls
7463
```
7564

7665
In case you want a better tex support in mac, check [this](https://gist.github.com/peterhurford/75957ba9335e755013b87254ec85fab1) out

Diff for: config.lua

+30-15
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ lvim.builtin.latex = {
2626
preview_exec = "/Applications/Skim.app/Contents/SharedSupport/displayline", -- change this to zathura as well
2727
rtl_support = true, -- if you want to use xelatex, it's a bit slower but works very well for RTL langs
2828
}
29+
lvim.lsp.automatic_servers_installation = true
2930
require("user.builtin").config()
3031

3132
-- StatusLine
@@ -42,22 +43,36 @@ end
4243

4344
-- Language Specific
4445
-- =========================================
45-
lvim.lang.markdown = {}
46-
lvim.lang.dockerfile.lsp.setup.root_dir = function(fname)
47-
return require("lspconfig").util.root_pattern ".git"(fname) or require("lspconfig").util.path.dirname(fname)
48-
end
49-
lvim.builtin.lspinstall.on_config_done = function()
50-
lvim.lang.tailwindcss.lsp.setup.filetypes = { "markdown" }
51-
lvim.lang.tailwindcss.lsp.active = true
52-
require("lsp").setup "tailwindcss"
53-
end
54-
lvim.lang.typescript.on_attach = function(client, _)
55-
require("nvim-lsp-ts-utils").setup_client(client)
46+
require("user.external_helpers").formatters()
47+
require("user.external_helpers").linters()
48+
lvim.lsp.override = { "dockerls", "jsonls", "sumneko_lua", "texlab", "tsserver", "yamlls", "rust_analyzer" }
49+
for _, server_name in pairs(lvim.lsp.override) do
50+
local lsp_installer_servers = require "nvim-lsp-installer.servers"
51+
local server_available, requested_server = lsp_installer_servers.get_server(server_name)
52+
if server_available then
53+
if not requested_server:is_installed() then
54+
if lvim.lsp.automatic_servers_installation then
55+
requested_server:install()
56+
else
57+
return
58+
end
59+
end
60+
end
61+
62+
local default_config = {
63+
on_attach = require("lsp").common_on_attach,
64+
on_init = require("lsp").common_on_init,
65+
capabilities = require("lsp").common_capabilities(),
66+
}
67+
68+
local status_ok, custom_config = pcall(require, "user/providers/" .. requested_server.name)
69+
if status_ok then
70+
local new_config = vim.tbl_deep_extend("force", default_config, custom_config)
71+
requested_server:setup(new_config)
72+
else
73+
requested_server:setup(default_config)
74+
end
5675
end
57-
lvim.lang.typescriptreact.on_attach = lvim.lang.typescript.on_attach
58-
lvim.lsp.override = { "rust", "java", "dart" }
59-
require("user.json_schemas").setup()
60-
require("user.yaml_schemas").setup()
6176

6277
-- Additional Plugins
6378
-- =========================================

Diff for: ftplugin/asm.lua

-6
This file was deleted.

Diff for: ftplugin/c.lua

Whitespace-only changes.

Diff for: ftplugin/cmake.lua

-6
This file was deleted.

Diff for: ftplugin/cpp.lua

Whitespace-only changes.

Diff for: ftplugin/css.lua

-6
This file was deleted.

Diff for: ftplugin/dockerfile.lua

-6
This file was deleted.

Diff for: ftplugin/go.lua

-12
This file was deleted.

Diff for: ftplugin/html.lua

-6
This file was deleted.

Diff for: ftplugin/javascript.lua

-12
This file was deleted.

Diff for: ftplugin/javascriptreact.lua

-12
This file was deleted.

Diff for: ftplugin/json.lua

-6
This file was deleted.

Diff for: ftplugin/less.lua

-7
This file was deleted.

Diff for: ftplugin/lua.lua

-12
This file was deleted.

Diff for: ftplugin/markdown.lua

-19
This file was deleted.

Diff for: ftplugin/nginx.lua

-6
This file was deleted.

Diff for: ftplugin/perl.lua

-6
This file was deleted.

Diff for: ftplugin/php.lua

-6
This file was deleted.

Diff for: ftplugin/python.lua

-18
This file was deleted.

Diff for: ftplugin/rust.lua

-4
This file was deleted.

Diff for: ftplugin/scala.lua

-6
This file was deleted.

Diff for: ftplugin/sh.lua

-11
This file was deleted.

Diff for: ftplugin/solidity.lua

-7
This file was deleted.

Diff for: ftplugin/sql.lua

-6
This file was deleted.

Diff for: ftplugin/terraform.lua

-6
This file was deleted.

Diff for: ftplugin/tex.lua

-2
This file was deleted.

Diff for: ftplugin/typescript.lua

-16
This file was deleted.

Diff for: ftplugin/typescriptreact.lua

-16
This file was deleted.

Diff for: ftplugin/vim.lua

-7
This file was deleted.

Diff for: ftplugin/vue.lua

-6
This file was deleted.

Diff for: ftplugin/yaml.lua

-6
This file was deleted.

0 commit comments

Comments
 (0)