aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.lua1
-rw-r--r--lazy-lock.json11
-rw-r--r--lua/plugins/init.lua40
-rw-r--r--lua/plugins/maps.lua36
-rw-r--r--lua/plugins/opts/lualine.lua16
-rw-r--r--lua/plugins/opts/misc.lua19
-rw-r--r--lua/plugins/opts/treesitter.lua24
7 files changed, 147 insertions, 0 deletions
diff --git a/init.lua b/init.lua
index b444749..60559b0 100644
--- a/init.lua
+++ b/init.lua
@@ -1,2 +1,3 @@
require "core"
require "pacman"
+require "plugins"
diff --git a/lazy-lock.json b/lazy-lock.json
new file mode 100644
index 0000000..f2f937b
--- /dev/null
+++ b/lazy-lock.json
@@ -0,0 +1,11 @@
+{
+ "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
+ "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" },
+ "lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
+ "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" },
+ "nvim-treesitter": { "branch": "master", "commit": "62b0bb4f24ad09f535efe44cc9d088f90dcd2498" },
+ "nvim-web-devicons": { "branch": "master", "commit": "0bb67ef952ea3eb7b1bac9c011281471d99a27bc" },
+ "tokyodark.nvim": { "branch": "master", "commit": "fe5847e379b3d1c52896fa69ff8faf20cde483cc" },
+ "vim-fugitive": { "branch": "master", "commit": "2e88f14a585c014691904ba8fe39e6ea851c9422" },
+ "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }
+} \ No newline at end of file
diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua
new file mode 100644
index 0000000..59da877
--- /dev/null
+++ b/lua/plugins/init.lua
@@ -0,0 +1,40 @@
+require("lazy").setup({
+ "tpope/vim-fugitive",
+ "tpope/vim-sleuth",
+ { "numToStr/Comment.nvim", opts = {} },
+
+ {
+ "lewis6991/gitsigns.nvim",
+ opts = require("plugins.opts.misc").gitsigns,
+ },
+
+ {
+ "nvim-lualine/lualine.nvim",
+ dependencies = { 'nvim-tree/nvim-web-devicons' },
+
+ opts = require "plugins.opts.lualine",
+ },
+
+ {
+ "tiagovla/tokyodark.nvim",
+ lazy = false,
+
+ opts = { transparent_background = true },
+ config = function(_, opts)
+ require("tokyodark").setup(opts)
+ vim.cmd.colorscheme "tokyodark"
+ end,
+ },
+
+ {
+ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate",
+ event = { "BufReadPost", "BufNewFile" },
+ cmd = { "TSInstall", "TSBufEnable", "TSBufDisable", "TSModuleInfo" },
+
+ opts = require "plugins.opts.treesitter",
+ config = function(_, opts)
+ require("nvim-treesitter.configs").setup(opts)
+ end,
+ },
+
+})
diff --git a/lua/plugins/maps.lua b/lua/plugins/maps.lua
new file mode 100644
index 0000000..ab10383
--- /dev/null
+++ b/lua/plugins/maps.lua
@@ -0,0 +1,36 @@
+local M = {}
+local maps = {}
+
+maps.gitsigns = {
+ n = {
+ ["<leader>gb"] = {
+ -- TODO: remov fun
+ function()
+ package.loaded.gitsigns.blame_line()
+ end,
+ "Blame line",
+ },
+
+ ["<leader>td"] = {
+ function()
+ require("gitsigns").toggle_deleted()
+ end,
+ "Toggle deleted",
+ },
+ },
+}
+
+M.load = function(name, opts)
+ local submaps = maps[name]
+ opts = opts or {}
+
+ vim.schedule(function()
+ for mode, keytab in pairs(submaps) do
+ for key, fun in pairs(keytab) do
+ vim.keymap.set(mode, key, fun[1], { desc = fun[2] }, opts)
+ end
+ end
+ end)
+end
+
+return M
diff --git a/lua/plugins/opts/lualine.lua b/lua/plugins/opts/lualine.lua
new file mode 100644
index 0000000..e72c632
--- /dev/null
+++ b/lua/plugins/opts/lualine.lua
@@ -0,0 +1,16 @@
+return {
+ sections = {
+ lualine_a = { "mode" },
+ lualine_b = { "branch", "diff" },
+ lualine_c = {{ "buffers", mode = 2 }},
+
+ lualine_x = {},
+ lualine_y = { "diagnostics", "progress" },
+ lualine_z = {},
+ },
+
+ options = {
+ component_separators = "",
+ section_separators = "",
+ },
+}
diff --git a/lua/plugins/opts/misc.lua b/lua/plugins/opts/misc.lua
new file mode 100644
index 0000000..952dc4f
--- /dev/null
+++ b/lua/plugins/opts/misc.lua
@@ -0,0 +1,19 @@
+local M = {}
+local maps = require "plugins.maps"
+
+M.gitsigns = {
+ signs = {
+ add = { text = "+" },
+ change = { text = "~" },
+ delete = { text = "-" },
+ topdelete = { text = "‾" },
+ changedelete = { text = "~" },
+ untracked = { text = "│" },
+ },
+
+ on_attach = function(bufnr)
+ maps.load("gitsigns", { buffer = bufnr })
+ end,
+}
+
+return M
diff --git a/lua/plugins/opts/treesitter.lua b/lua/plugins/opts/treesitter.lua
new file mode 100644
index 0000000..c9f9a59
--- /dev/null
+++ b/lua/plugins/opts/treesitter.lua
@@ -0,0 +1,24 @@
+return {
+ ensure_installed = { "lua", "c", "bash"},
+ sync_install = false,
+ indent = { enable = true },
+
+ highlight = {
+ enable = true,
+ use_languagetree = true,
+ -- Setting this to true will run `:h syntax` and tree-sitter at the same time.
+ -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
+ -- Using this option may slow down your editor, and you may see some duplicate highlights.
+ -- Instead of true it can also be a list of languages
+ additional_vim_regex_highlighting = false,
+
+ -- disable for > 100 KB files
+ disable = function(_, buf)
+ local max_filesize = 100 * 1024 -- 100 KB
+ local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
+ if ok and stats and stats.size > max_filesize then
+ return true
+ end
+ end,
+ },
+}