| 
														
															@@ -12,6 +12,32 @@ vim.filetype.add({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   }, 
														 | 
														
														 | 
														
															   }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }) 
														 | 
														
														 | 
														
															 }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+-- helpers 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+local function resolve_git_path(buf_id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local bufname = vim.api.nvim_buf_get_name(buf_id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if not vim.startswith(bufname, "fugitive://") then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return false 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local parsed = vim.fn.FugitiveParse(bufname) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local resolved_path = parsed[1] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local repo = parsed[2] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if resolved_path == "" then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    return false 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local parts = vim.split(resolved_path, ':') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local commit = parts[1] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local path = parts[2] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  return { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    repo = repo, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    commit = commit, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    path = path, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 -- file/buffer/etc picker 
														 | 
														
														 | 
														
															 -- file/buffer/etc picker 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 local telescope_actions = require('telescope.actions') 
														 | 
														
														 | 
														
															 local telescope_actions = require('telescope.actions') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 local action_state = require('telescope.actions.state') 
														 | 
														
														 | 
														
															 local action_state = require('telescope.actions.state') 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -133,25 +159,18 @@ end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 -- custom picker for files within a commit 
														 | 
														
														 | 
														
															 -- custom picker for files within a commit 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _G.commit_files = function(opts) 
														 | 
														
														 | 
														
															 _G.commit_files = function(opts) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  local current_path = vim.api.nvim_buf_get_name(0) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  local parsed = vim.fn.FugitiveParse(current_path) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  local resolved_path = parsed[1] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  local repo = parsed[2] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  if resolved_path == "" then 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local resolved = resolve_git_path(0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if not resolved then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     vim.print("current file is not a fugitive path") 
														 | 
														
														 | 
														
															     vim.print("current file is not a fugitive path") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     return 
														 | 
														
														 | 
														
															     return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   end 
														 | 
														
														 | 
														
															   end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  local parts = vim.split(resolved_path, ':') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  local commit = parts[1] 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   opts = opts or {} 
														 | 
														
														 | 
														
															   opts = opts or {} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   telescope_pickers.new(opts, { 
														 | 
														
														 | 
														
															   telescope_pickers.new(opts, { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    prompt_title = commit, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    finder = telescope_finders.new_oneshot_job({ "git", "ls-tree", "--name-only", "-r", commit }, { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    prompt_title = resolved.commit, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    finder = telescope_finders.new_oneshot_job({ "git", "ls-tree", "--name-only", "-r", resolved.commit }, { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       entry_maker = function(entry) 
														 | 
														
														 | 
														
															       entry_maker = function(entry) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        local path = string.format("fugitive://%s//%s/%s", repo, commit, entry) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        local path = string.format("fugitive://%s//%s/%s", resolved.repo, resolved.commit, entry) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return { 
														 | 
														
														 | 
														
															         return { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															           path = path, 
														 | 
														
														 | 
														
															           path = path, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															           value = entry, 
														 | 
														
														 | 
														
															           value = entry, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -186,7 +205,32 @@ _G.commit_files = function(opts) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 end 
														 | 
														
														 | 
														
															 end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 -- shows added/removed/changed lines 
														 | 
														
														 | 
														
															 -- shows added/removed/changed lines 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-require('gitsigns').setup() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+local MiniDiff = require('mini.diff') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+MiniDiff.setup({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  view = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    style = 'sign', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    signs = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      delete = '_', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  source = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    MiniDiff.gen_source.git(), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    -- handle fugitive paths 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      name = "fugitive", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      attach = function(buf_id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        local resolved = resolve_git_path(buf_id) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if not resolved or resolved.path == "" then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+          return false 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        local source = vim.fn.FugitiveFind(string.format("%s~1:%s", resolved.commit, resolved.path)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        local text = vim.fn['fugitive#readfile'](source) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        MiniDiff.set_ref_text(buf_id, text) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 require('mini.statusline').setup({ 
														 | 
														
														 | 
														
															 require('mini.statusline').setup({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   content = { 
														 | 
														
														 | 
														
															   content = { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -222,7 +266,17 @@ require('mini.indentscope').setup() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 require('mini.comment').setup() 
														 | 
														
														 | 
														
															 require('mini.comment').setup() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 -- surround actions 
														 | 
														
														 | 
														
															 -- surround actions 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-require('mini.surround').setup() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+require('mini.surround').setup({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  custom_surroundings = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    -- js template string 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    ['$'] = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      output = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        left = '`${', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        right = '}`', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 local spec_treesitter = require('mini.ai').gen_spec.treesitter 
														 | 
														
														 | 
														
															 local spec_treesitter = require('mini.ai').gen_spec.treesitter 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -326,6 +380,11 @@ require('blink.cmp').setup({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     enabled = false, 
														 | 
														
														 | 
														
															     enabled = false, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   }, 
														 | 
														
														 | 
														
															   }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   completion = { 
														 | 
														
														 | 
														
															   completion = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    accept = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      auto_brackets = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        enabled = false, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    }, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     documentation = { 
														 | 
														
														 | 
														
															     documentation = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       auto_show = true, 
														 | 
														
														 | 
														
															       auto_show = true, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															       auto_show_delay_ms = 500, 
														 | 
														
														 | 
														
															       auto_show_delay_ms = 500, 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -353,3 +412,15 @@ require('blink.cmp').setup({ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 -- typescript-vim compiler options 
														 | 
														
														 | 
														
															 -- typescript-vim compiler options 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 vim.g.typescript_compiler_options = '--incremental --noEmit' 
														 | 
														
														 | 
														
															 vim.g.typescript_compiler_options = '--incremental --noEmit' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+-- stuff 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+_G.toggle_end_char = function(char) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local cursor = vim.api.nvim_win_get_cursor(0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local row = cursor[1] - 1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  local end_char = vim.api.nvim_buf_get_text(0, row, -2, row, -1, {})[1] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if end_char == char then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    vim.api.nvim_buf_set_text(0, row, -2, row, -1, {}) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  else 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    vim.api.nvim_buf_set_text(0, row, -1, row, -1, { char }) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+end 
														 |