nvim

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 69d74e6b6369f52592bf7b4d9486984d3dcb5a90
Author: minerva-juppiter <ryouturn@gmail.com>
Date:   Fri, 20 Jun 2025 14:32:55 +0900

initial commit

Diffstat:
Ainit.lua | 3+++
Alazy-lock.json | 19+++++++++++++++++++
Alua/config/lazy.lua | 35+++++++++++++++++++++++++++++++++++
Alua/options.lua | 4++++
Alua/plugins/blink-cmp.lua | 24++++++++++++++++++++++++
Alua/plugins/bufferline.lua | 9+++++++++
Alua/plugins/colorizer.lua | 3+++
Alua/plugins/gitsigns.lua | 55+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Alua/plugins/mason.lua | 4++++
Alua/plugins/neo-tree.lua | 18++++++++++++++++++
Alua/plugins/nvim-markdown.lua | 5+++++
Alua/plugins/nvim-scrollbar.lua | 8++++++++
Alua/plugins/nvim-treesitter-context.lua | 6++++++
Alua/plugins/nvim-treesitter.lua | 20++++++++++++++++++++
Alua/plugins/plenary.lua | 5+++++
Alua/plugins/render-markdown.lua | 11+++++++++++
Alua/plugins/scacks.lua | 21+++++++++++++++++++++
17 files changed, 250 insertions(+), 0 deletions(-)

diff --git a/init.lua b/init.lua @@ -0,0 +1,3 @@ +require("config.lazy") + +require("options") diff --git a/lazy-lock.json b/lazy-lock.json @@ -0,0 +1,19 @@ +{ + "blink.cmp": { "branch": "main", "commit": "9bcb14b43852a6f2bfd5ac9ef29cb5cf09b1b39b" }, + "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, + "gitsigns.nvim": { "branch": "main", "commit": "88205953bd748322b49b26e1dfb0389932520dc9" }, + "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, + "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, + "neo-tree.nvim": { "branch": "main", "commit": "e01ca7de8e6dbc6118bcb12c4cbe1f88162a337f" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, + "nvim-markdown": { "branch": "master", "commit": "cfe80a1054ccc168ae9ef28062472e78f710f9f4" }, + "nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "nvim-treesitter-context": { "branch": "master", "commit": "1a1a7c5d6d75cb49bf64049dafab15ebe294a79f" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" }, + "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, + "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "render-markdown.nvim": { "branch": "main", "commit": "b8ee8bcefd6f5319beb7d3df5237c68e5c5376ac" }, + "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" } +} diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "habamax" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) diff --git a/lua/options.lua b/lua/options.lua @@ -0,0 +1,4 @@ +local opt = vim.opt + +opt.tabstop = 4 +opt.shiftwidth = 4 diff --git a/lua/plugins/blink-cmp.lua b/lua/plugins/blink-cmp.lua @@ -0,0 +1,24 @@ +return { + { + "saghen/blink.cmp", + version = "1.*", + ---@module 'blink.cmp' + ---@type blink.cmp.Configopts + event = { "InsertEnter" }, + opts = { + keymap = { preset = "super-tab" }, + appearance = { + nerd_font_variant = "mono", + }, + completion = { documentation = { auto_show = true } }, + sources = { + default = { "lsp", "path", "buffer" }, + }, + fuzzy = { + -- versionを指定してないとバイナリが特定できずLuaにfallbackするwarningが表示される + implementation = "prefer_rust_with_warning", + }, + }, + opts_extend = { "sources.default" }, + }, +} diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua @@ -0,0 +1,9 @@ +return { + 'akinsho/bufferline.nvim', + version = "*", + dependencies = 'nvim-tree/nvim-web-devicons', + config = function () + vim.opt.termguicolors = true + require("bufferline").setup{} + end +} diff --git a/lua/plugins/colorizer.lua b/lua/plugins/colorizer.lua @@ -0,0 +1,3 @@ +return { + "norcalli/nvim-colorizer.lua", +} diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua @@ -0,0 +1,55 @@ +return { + "lewis6991/gitsigns.nvim", + config = function() + require('gitsigns').setup { + signs = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged = { + add = { text = '┃' }, + change = { text = '┃' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + untracked = { text = '┆' }, + }, + signs_staged_enable = true, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + watch_gitdir = { + follow_files = true + }, + auto_attach = true, + attach_to_untracked = false, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + ignore_whitespace = false, + virt_text_priority = 100, + use_focus = true, + }, + current_line_blame_formatter = '<author>, <author_time:%R> - <summary>', + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, -- Disable if file is longer than this (in lines) + preview_config = { + -- Options passed to nvim_open_win + border = 'single', + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, + } + end +} diff --git a/lua/plugins/mason.lua b/lua/plugins/mason.lua @@ -0,0 +1,4 @@ +return { + "mason-org/mason.nvim", + opts = {} +} diff --git a/lua/plugins/neo-tree.lua b/lua/plugins/neo-tree.lua @@ -0,0 +1,18 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended + "MunifTanjim/nui.nvim", + -- {"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information + }, + lazy = false, -- neo-tree will lazily load itself + ---@module "neo-tree" + ---@type neotree.Config? + opts = { + -- fill any relevant options here + }, + keys = { + {mode = "n", "<c-n>", "<cmd>Neotree toggle<CR>"} + } +} diff --git a/lua/plugins/nvim-markdown.lua b/lua/plugins/nvim-markdown.lua @@ -0,0 +1,5 @@ +return { + "ixru/nvim-markdown", + ft = { "markdown" }, + opts = {}, +} diff --git a/lua/plugins/nvim-scrollbar.lua b/lua/plugins/nvim-scrollbar.lua @@ -0,0 +1,8 @@ +return { + "petertriho/nvim-scrollbar", + event = {"BufRead","BufNewFile"}, + config = function() + require("scrollbar").setup({ + }) + end +} diff --git a/lua/plugins/nvim-treesitter-context.lua b/lua/plugins/nvim-treesitter-context.lua @@ -0,0 +1,6 @@ +return { + "nvim-treesitter/nvim-treesitter-context", + dependencies = { "nvim-treesitter/nvim-treesitter" }, + lazy = true, + event = { "BufReadPost", "BufNewFile" }, +} diff --git a/lua/plugins/nvim-treesitter.lua b/lua/plugins/nvim-treesitter.lua @@ -0,0 +1,20 @@ +return { + -- Treesitter + { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + dependencies = { + "nvim-treesitter/nvim-treesitter-textobjects", + }, + main = 'nvim-treesitter.configs', + opts = { + highlight = { + enable = true + }, + }, + }, + { + "nvim-treesitter/nvim-treesitter-textobjects", + event = "CursorMoved", + }, +} diff --git a/lua/plugins/plenary.lua b/lua/plugins/plenary.lua @@ -0,0 +1,5 @@ +-- plenary.lua +return { + 'nvim-lua/plenary.nvim', +} + diff --git a/lua/plugins/render-markdown.lua b/lua/plugins/render-markdown.lua @@ -0,0 +1,11 @@ +return { + 'MeanderingProgrammer/render-markdown.nvim', + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins + dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons + ---@module 'render-markdown' + ---@type render.md.UserConfig + opts = { + completions = { lsp = { enabled = true }}, + }, +} diff --git a/lua/plugins/scacks.lua b/lua/plugins/scacks.lua @@ -0,0 +1,21 @@ +return { + "folke/snacks.nvim", + priority = 1000, + lazy = false, + ---@type snacks.Config + opts = { + dashboard = { enabled = true, + preset = { + -- Font Name: Slant + header = [[ + _ ____________ _ ________ ___ + / | / / ____/ __ \ | / / _/ |/ / + / |/ / __/ / / / / | / // // /|_/ / + / /| / /___/ /_/ /| |/ // // / / / +/_/ |_/_____/\____/ |___/___/_/ /_/ + ]], + } + }, + indent = { enabled = false }, + }, +}