commit 69d74e6b6369f52592bf7b4d9486984d3dcb5a90
Author: minerva-juppiter <ryouturn@gmail.com>
Date: Fri, 20 Jun 2025 14:32:55 +0900
initial commit
Diffstat:
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 },
+ },
+}