summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/cshift/filetype.lua7
-rw-r--r--lua/cshift/init.lua2
-rw-r--r--lua/cshift/opt.lua3
-rw-r--r--lua/cshift/plugins/cmp.lua11
-rw-r--r--lua/cshift/plugins/lsp.lua8
-rw-r--r--lua/cshift/plugins/treesitter.lua7
-rw-r--r--lua/cshift/treesitter.lua13
7 files changed, 47 insertions, 4 deletions
diff --git a/lua/cshift/filetype.lua b/lua/cshift/filetype.lua
new file mode 100644
index 0000000..2b11acb
--- /dev/null
+++ b/lua/cshift/filetype.lua
@@ -0,0 +1,7 @@
+vim.filetype.add({
+ extension = {
+ tnsl = 'tnsl',
+ tnsh = 'tnsl-shell'
+ }
+})
+
diff --git a/lua/cshift/init.lua b/lua/cshift/init.lua
index 5bae8c0..85820a6 100644
--- a/lua/cshift/init.lua
+++ b/lua/cshift/init.lua
@@ -8,3 +8,5 @@ require("lazy").setup("cshift.plugins")
require("cshift.remaps")
require("cshift.opt")
+require("cshift.filetype")
+require("cshift.treesitter")
diff --git a/lua/cshift/opt.lua b/lua/cshift/opt.lua
index 1de61d9..4ac37af 100644
--- a/lua/cshift/opt.lua
+++ b/lua/cshift/opt.lua
@@ -1,6 +1,9 @@
vim.opt.number = true
vim.opt.relativenumber = true
+vim.opt.list = true
vim.opt.shiftwidth = 4
vim.opt.tabstop = 4
+vim.opt.filetype = "on"
+
diff --git a/lua/cshift/plugins/cmp.lua b/lua/cshift/plugins/cmp.lua
index a1e80b4..ae490f5 100644
--- a/lua/cshift/plugins/cmp.lua
+++ b/lua/cshift/plugins/cmp.lua
@@ -3,6 +3,8 @@ return {
dependencies = {
"neovim/nvim-lspconfig",
"hrsh7th/cmp-nvim-lsp",
+ "L3MON4D3/LuaSnip",
+ "saadparwaiz1/cmp_luasnip",
},
config = function()
@@ -10,12 +12,21 @@ return {
cmp.setup({
snippit = {
expand = function(args)
+ require('luasnip').lsp_expand(args.body)
end
},
window = {
},
+ mapping = cmp.mapping.preset.insert({
+ ['<C-b>'] = cmp.mapping.scroll_docs(-4),
+ ['<C-f>'] = cmp.mapping.scroll_docs(4),
+ ['<C-Space>'] = cmp.mapping.complete(),
+ ['<C-e>'] = cmp.mapping.abort(),
+ ['<S-CR>'] = cmp.mapping.confirm({select=true}),
+ }),
+
sources = cmp.config.sources({
{name = "nvim_lsp"}
}, {
diff --git a/lua/cshift/plugins/lsp.lua b/lua/cshift/plugins/lsp.lua
index 82c3cec..04e0a92 100644
--- a/lua/cshift/plugins/lsp.lua
+++ b/lua/cshift/plugins/lsp.lua
@@ -1,8 +1,8 @@
return {
- "neovim/nvim-lspconfig",
+ "mason-org/mason-lspconfig.nvim",
dependencies = {
- "williamboman/mason.nvim",
- "williamboman/mason-lspconfig.nvim",
+ "mason-org/mason.nvim",
+ "neovim/nvim-lspconfig",
},
config = function()
@@ -12,8 +12,8 @@ return {
"lua_ls",
"clangd",
"jedi_language_server",
- "tsserver",
"rust_analyzer",
+ "ts_ls",
},
handlers = {
diff --git a/lua/cshift/plugins/treesitter.lua b/lua/cshift/plugins/treesitter.lua
new file mode 100644
index 0000000..33f85a0
--- /dev/null
+++ b/lua/cshift/plugins/treesitter.lua
@@ -0,0 +1,7 @@
+return {
+ {
+ 'nvim-treesitter/nvim-treesitter',
+ lazy = false,
+ build = ':TSUpdate'
+ }
+}
diff --git a/lua/cshift/treesitter.lua b/lua/cshift/treesitter.lua
new file mode 100644
index 0000000..4e7ec6b
--- /dev/null
+++ b/lua/cshift/treesitter.lua
@@ -0,0 +1,13 @@
+vim.api.nvim_create_autocmd('User', { pattern = 'TSUpdate',
+ callback = function()
+ require('nvim-treesitter.parsers').tnsl = {
+ install_info = {
+ path = '~/git/tree-sitter-tnsl',
+ generate = true,
+ generate_from_json = false,
+ queries = 'queries/neovim'
+ }
+ }
+ end
+})
+