summaryrefslogtreecommitdiff
path: root/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim')
-rw-r--r--nvim/init.lua3
-rw-r--r--nvim/lua/config/lsp.lua0
-rw-r--r--nvim/lua/config/telescope.lua30
-rw-r--r--nvim/lua/config/treesitter.lua14
-rw-r--r--nvim/lua/keymapping.lua1
-rw-r--r--nvim/lua/options.lua19
-rw-r--r--nvim/lua/plugins/lazy.lua46
7 files changed, 113 insertions, 0 deletions
diff --git a/nvim/init.lua b/nvim/init.lua
new file mode 100644
index 0000000..9d68927
--- /dev/null
+++ b/nvim/init.lua
@@ -0,0 +1,3 @@
+require("plugins.lazy")
+require("options")
+require("keymapping")
diff --git a/nvim/lua/config/lsp.lua b/nvim/lua/config/lsp.lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/nvim/lua/config/lsp.lua
diff --git a/nvim/lua/config/telescope.lua b/nvim/lua/config/telescope.lua
new file mode 100644
index 0000000..0cadb4e
--- /dev/null
+++ b/nvim/lua/config/telescope.lua
@@ -0,0 +1,30 @@
+return {
+ defaults = {
+ -- Default configuration for telescope goes here:
+ -- config_key = value,
+ mappings = {
+ i = {
+ -- map actions.which_key to <C-h> (default: <C-/>)
+ -- actions.which_key shows the mappings for your picker,
+ -- e.g. git_{create, delete, ...}_branch for the git_branches picker
+ ["<C-h>"] = "which_key"
+ }
+ }
+ },
+ pickers = {
+ -- Default configuration for builtin pickers goes here:
+ -- picker_name = {
+ -- picker_config_key = value,
+ -- ...
+ -- }
+ -- Now the picker_config_key will be applied every time you call this
+ -- builtin picker
+ },
+ extensions = {
+ -- Your extension configuration goes here:
+ -- extension_name = {
+ -- extension_config_key = value,
+ -- }
+ -- please take a look at the readme of the extension you want to configure
+ }
+}
diff --git a/nvim/lua/config/treesitter.lua b/nvim/lua/config/treesitter.lua
new file mode 100644
index 0000000..4b0360f
--- /dev/null
+++ b/nvim/lua/config/treesitter.lua
@@ -0,0 +1,14 @@
+return {
+ ensure_installed = {
+ "lua",
+ "vim",
+ "vimdoc",
+ },
+
+ highlight = {
+ enable = true,
+ use_languagetree = true,
+ },
+
+ indent.enable = true,
+}
diff --git a/nvim/lua/keymapping.lua b/nvim/lua/keymapping.lua
new file mode 100644
index 0000000..f91b333
--- /dev/null
+++ b/nvim/lua/keymapping.lua
@@ -0,0 +1 @@
+vim.keymap.set({"n", "v"}, "<leader>y", [["+y]])
diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua
new file mode 100644
index 0000000..994ed77
--- /dev/null
+++ b/nvim/lua/options.lua
@@ -0,0 +1,19 @@
+vim.g.mapleader = " "
+
+vim.o.clipboard = "unnamedplus"
+
+vim.o.number = true
+
+vim.o.expandtab = true
+
+vim.o.shiftwidth = 2
+
+vim.o.smartindent = true
+
+vim.o.tabstop = 2
+
+vim.o.softtabstop = 2
+
+vim.opt.shortmess:append "sI"
+
+vim.opt.whichwrap:append "<>[]hl"
diff --git a/nvim/lua/plugins/lazy.lua b/nvim/lua/plugins/lazy.lua
new file mode 100644
index 0000000..2e99dce
--- /dev/null
+++ b/nvim/lua/plugins/lazy.lua
@@ -0,0 +1,46 @@
+local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
+if not (vim.uv or vim.loop).fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable release
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
+
+require("lazy").setup({
+ "nvim-telescope/telescope.nvim",
+ "nvim-treesitter/treesitter.nvim",
+ -- gruvbox colorscheme
+ {
+ "ellisonleao/gruvbox.nvim",
+ name = "gruvbox",
+ priority = 1000,
+ lazy = false,
+ config = function()
+ vim.cmd([[colorscheme gruvbox]])
+ end,
+ },
+ -- LSP
+ {
+ "neovim/nvim-lspconfig",
+ dependencies = {
+ "williamboman/mason.nvim",
+ },
+ config = function()
+ local lspconfig = require("lspconfig")
+ local mason = require("mason")
+ mason.setup()
+ lspconfig.pyright.setup {}
+ lspconfig.tsserver.setup {}
+ lspconfig.rust_analyzer.setup {
+ settings = {
+ ['rust-analyzer'] = {},
+ },
+ }
+ end,
+ }
+})