48e5e95
Branches > main > 48e5e95 > files / nvim / pack / plugins / opt / conjure / dev / javascript
Merge pc and chromebook dotfiles
Commit: 48e5e95d788afa747af490965fae031974e434c2
Parent: a1efde1
Parent: 751a2dd
157 changed files:
i3/config view file
@@ -36,7 +36,7 @@ bindsym $mod+Shift+0 move container to workspace number 0 bindsym $mod+r reload-bindsym $mod+Shift+R restart+bindsym $mod+Shift+r restart bindsym $mod+e exec maim | tee ~/Pictures/$(date '+%Y-%m-%d_%H-%M-%S').png | xclip -selection clipboard -t image/png bindsym $mod+w exec maim -s | tee ~/Pictures/$(date '+%Y-%m-%d_%H-%M-%S').png | xclip -selection clipboard -t image/pngnixos/machines/pc/configuration.nix view file
@@ -27,6 +27,9 @@ package = config.boot.kernelPackages.nvidiaPackages.stable; }; + ## More ai smiesmie+ boot.kernelParams = [ "usbcore.autosuspend=-1" ];+ services.usbmuxd = { enable = true; package = pkgs.usbmuxd2;@@ -56,6 +59,8 @@ services.openssh = { enable = true;+ passwordAuthentication = false;+ permitRootLogin = "no"; }; programs.fish.enable = true;@@ -71,6 +76,17 @@ hardware.steam-hardware.enable = true; + boot.extraModulePackages = with config.boot.kernelPackages; [+ v4l2loopback+ ];+ boot.kernelModules = [ "v4l2loopback" ];+ boot.extraModprobeConfig = ''+ options v4l2loopback devices=1 video_nr=2 card_label="OBS Virtual Camera" exclusive_caps=1 formats=YUYV,MJPEG+ '';+ security.polkit.enable = true;++ programs.obs-studio.enableVirtualCamera = true;+ ## No touchy says the comment! system.stateVersion = "24.11"; }nixos/machines/pc/home.nix view file
@@ -49,9 +49,11 @@ clojure-lsp cljfmt lua-language-server+ jdt-language-server fzf librewolf ## TODO config!+ qutebrowser tor-browser ungoogled-chromium @@ -89,6 +91,8 @@ flatpak jdk25+ # jdk21+ kotlin-language-server # K****n clojure babashka@@ -123,5 +127,15 @@ killall filezilla++ signal-desktop++ docker+ zig++ protontricks+ freetype++ qgis ]; }nixos/pkgs/base.nix view file
@@ -0,0 +1,97 @@+{ pkgs, ... }:++with pkgs; [+ nerd-fonts.jetbrains-mono+ # steam+ ghostty++ # vesktop+ # slack++ neovim+ tree-sitter+ fennel-ls+ fnlfmt+ clj-kondo+ clojure-lsp+ cljfmt+ lua-language-server+ jdt-language-server+ fzf++ librewolf ## TODO config!+ # tor-browser+ # ungoogled-chromium++ obsidian+ # gimp+ i3+ nautilus+ pavucontrol++ # libimobiledevice+ # ifuse++ # prismlauncher++ libreoffice+ maim+ xclip++ usbutils+ inotify-tools++ unzip+ git+ lazygit+ rlwrap+ # ed # It's the standard editor, you know?+ fish+ lsd+ dig+ ripgrep+ dmenu++ bluez++ flatpak++ jdk25++ clojure+ babashka++ # gcc++ lua54Packages.fennel++ luajit++ # nodejs+ # bun++ cloc+ mpv+ loupe+ vlc+ ffmpeg++ # obs-studio+ # audacity++ bundler+ jekyll++ # shotcut++ # amberol++ killall++ # filezilla++ # signal-desktop++ # docker+ zig+]nixos/pkgs/laptop.nix view file
nixos/pkgs/pc.nix view file
nvim/ftplugin/clojure.lua view file
@@ -0,0 +1 @@+require("plugins.conjure")nvim/ftplugin/markdown.lua view file
@@ -0,0 +1,5 @@+local ol = vim.opt_local+ol.wrap = true+ol.linebreak = true+ol.spell = true+ol.columns = 80nvim/init.lua view file
@@ -5,16 +5,17 @@ require("center") require("opts")-require("filetype") local nvim_arg = vim.fn.argv(0) if vim.fn.isdirectory(nvim_arg) == 1 then require("plugins.oil").open(nvim_arg) end -vim.schedule(function() require("keybindings") end)-vim.schedule(function() require("lsp") end)-vim.schedule(function() require("lazy_ui") end)+vim.schedule(function()+ require("keybindings")+ require("lsp")+ require("lazy_ui")+end) --- TODO there's a bug tha parens and virtual text likes to stick around for longer than it should... nvim/lua/filetype.lua view file
@@ -1,6 +0,0 @@-vim.api.nvim_create_autocmd("FileType", {- pattern = "clojure",- callback = function()- require("plugins.conjure")- end,-})nvim/lua/keybindings.lua view file
@@ -50,6 +50,7 @@ keymap({"n", "v", "o"}, ";", function() require("jump").jump() end) +-- Needs to hook into things so is loaded here local smart_n = require("smart_n").smart_n keymap({"n", "v", "o"}, "n", function() return smart_n(false) end, {expr = true, noremap = true})nvim/lua/lsp.lua view file
@@ -19,12 +19,27 @@ lsp.enable(name) end ---- TODO hopefully this works :p config({name = "clojure-lsp", filetypes = {"clojure"}, root_markers = {"project.clj", "deps.edn", "build.boot", "shadow-cljs.edn", ".git", "bb.edn"}}) +config({name = "kotlin-language-server",+ filetypes = {"kotlin"},+ root_markers = {"build.gradle.kts", "gradlew", ".git"}})+ config({name = "lua-language-server", filetypes = {"lua"}, settings = {Lua = {diagnostics = {globals = {"vim"}}}}, root_markers = {".luarc.json", ".luarc.jsonc", ".luacheckrc", ".stylua.toml", "stylua.toml", "selene.toml", "selene.yml", ".git"}})++config({name = "jdtls",+ filetypes = {"java"},+ root_markers = {"mvnw",+ "gradlew",+ "settings.gradle",+ "settings.gradle.kts",+ ".git",+ "build.xml",+ "pom.xml",+ "build.gradle",+ "build.gradle.kts"}})nvim/lua/oil/LICENSE nvim/pack/plugins/opt/oil.nvim/LICENSE view file
nvim/lua/oil/actions.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/actions.lua view file
nvim/lua/oil/adapters/files.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/files.lua view file
nvim/lua/oil/adapters/files/permissions.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/files/permissions.lua view file
nvim/lua/oil/adapters/s3.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/s3.lua view file
nvim/lua/oil/adapters/s3/s3fs.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/s3/s3fs.lua view file
nvim/lua/oil/adapters/ssh.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/ssh.lua view file
nvim/lua/oil/adapters/ssh/connection.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/ssh/connection.lua view file
nvim/lua/oil/adapters/ssh/sshfs.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/ssh/sshfs.lua view file
nvim/lua/oil/adapters/test.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/test.lua view file
nvim/lua/oil/adapters/trash.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/trash.lua view file
nvim/lua/oil/adapters/trash/freedesktop.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/trash/freedesktop.lua view file
nvim/lua/oil/adapters/trash/mac.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/trash/mac.lua view file
nvim/lua/oil/adapters/trash/windows.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/trash/windows.lua view file
nvim/lua/oil/adapters/trash/windows/powershell-connection.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/trash/windows/powershell-connection.lua view file
nvim/lua/oil/adapters/trash/windows/powershell-trash.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/adapters/trash/windows/powershell-trash.lua view file
nvim/lua/oil/cache.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/cache.lua view file
nvim/lua/oil/clipboard.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/clipboard.lua view file
nvim/lua/oil/columns.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/columns.lua view file
nvim/lua/oil/config.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/config.lua view file
nvim/lua/oil/constants.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/constants.lua view file
nvim/lua/oil/fs.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/fs.lua view file
nvim/lua/oil/git.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/git.lua view file
nvim/lua/oil/init.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/init.lua view file
nvim/lua/oil/keymap_util.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/keymap_util.lua view file
nvim/lua/oil/layout.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/layout.lua view file
nvim/lua/oil/loading.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/loading.lua view file
nvim/lua/oil/log.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/log.lua view file
nvim/lua/oil/lsp/helpers.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/lsp/helpers.lua view file
nvim/lua/oil/lsp/workspace.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/lsp/workspace.lua view file
nvim/lua/oil/mutator/confirmation.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/mutator/confirmation.lua view file
nvim/lua/oil/mutator/init.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/mutator/init.lua view file
nvim/lua/oil/mutator/parser.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/mutator/parser.lua view file
nvim/lua/oil/mutator/progress.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/mutator/progress.lua view file
nvim/lua/oil/mutator/trie.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/mutator/trie.lua view file
nvim/lua/oil/pathutil.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/pathutil.lua view file
nvim/lua/oil/ringbuf.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/ringbuf.lua view file
nvim/lua/oil/shell.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/shell.lua view file
nvim/lua/oil/util.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/util.lua view file
nvim/lua/oil/view.lua nvim/pack/plugins/opt/oil.nvim/lua/oil/view.lua view file
nvim/lua/parinfer/LICENSE view file
@@ -0,0 +1,674 @@+ GNU GENERAL PUBLIC LICENSE+ Version 3, 29 June 2007++ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>+ Everyone is permitted to copy and distribute verbatim copies+ of this license document, but changing it is not allowed.++ Preamble++ The GNU General Public License is a free, copyleft license for+ software and other kinds of works.++ The licenses for most software and other practical works are designed+ to take away your freedom to share and change the works. By contrast,+ the GNU General Public License is intended to guarantee your freedom to+ share and change all versions of a program--to make sure it remains free+ software for all its users. We, the Free Software Foundation, use the+ GNU General Public License for most of our software; it applies also to+ any other work released this way by its authors. You can apply it to+ your programs, too.++ When we speak of free software, we are referring to freedom, not+ price. Our General Public Licenses are designed to make sure that you+ have the freedom to distribute copies of free software (and charge for+ them if you wish), that you receive source code or can get it if you+ want it, that you can change the software or use pieces of it in new+ free programs, and that you know you can do these things.++ To protect your rights, we need to prevent others from denying you+ these rights or asking you to surrender the rights. Therefore, you have+ certain responsibilities if you distribute copies of the software, or if+ you modify it: responsibilities to respect the freedom of others.++ For example, if you distribute copies of such a program, whether+ gratis or for a fee, you must pass on to the recipients the same+ freedoms that you received. You must make sure that they, too, receive+ or can get the source code. And you must show them these terms so they+ know their rights.++ Developers that use the GNU GPL protect your rights with two steps:+ (1) assert copyright on the software, and (2) offer you this License+ giving you legal permission to copy, distribute and/or modify it.++ For the developers' and authors' protection, the GPL clearly explains+ that there is no warranty for this free software. For both users' and+ authors' sake, the GPL requires that modified versions be marked as+ changed, so that their problems will not be attributed erroneously to+ authors of previous versions.++ Some devices are designed to deny users access to install or run+ modified versions of the software inside them, although the manufacturer+ can do so. This is fundamentally incompatible with the aim of+ protecting users' freedom to change the software. The systematic+ pattern of such abuse occurs in the area of products for individuals to+ use, which is precisely where it is most unacceptable. Therefore, we+ have designed this version of the GPL to prohibit the practice for those+ products. If such problems arise substantially in other domains, we+ stand ready to extend this provision to those domains in future versions+ of the GPL, as needed to protect the freedom of users.++ Finally, every program is threatened constantly by software patents.+ States should not allow patents to restrict development and use of+ software on general-purpose computers, but in those that do, we wish to+ avoid the special danger that patents applied to a free program could+ make it effectively proprietary. To prevent this, the GPL assures that+ patents cannot be used to render the program non-free.++ The precise terms and conditions for copying, distribution and+ modification follow.++ TERMS AND CONDITIONS++ 0. Definitions.++ "This License" refers to version 3 of the GNU General Public License.++ "Copyright" also means copyright-like laws that apply to other kinds of+ works, such as semiconductor masks.++ "The Program" refers to any copyrightable work licensed under this+ License. Each licensee is addressed as "you". "Licensees" and+ "recipients" may be individuals or organizations.++ To "modify" a work means to copy from or adapt all or part of the work+ in a fashion requiring copyright permission, other than the making of an+ exact copy. The resulting work is called a "modified version" of the+ earlier work or a work "based on" the earlier work.++ A "covered work" means either the unmodified Program or a work based+ on the Program.++ To "propagate" a work means to do anything with it that, without+ permission, would make you directly or secondarily liable for+ infringement under applicable copyright law, except executing it on a+ computer or modifying a private copy. Propagation includes copying,+ distribution (with or without modification), making available to the+ public, and in some countries other activities as well.++ To "convey" a work means any kind of propagation that enables othernvim/lua/parinfer/parinfer.lua view file
@@ -0,0 +1,1778 @@+-- parinfer.lua - a Parinfer implementation in Lua+-- v0.1.0+-- https://github.com/oakmac/parinfer-lua+--+-- More information about Parinfer can be found here:+-- http://shaunlebron.github.io/parinfer/+--+-- Copyright (c) 2021, Chris Oakman+-- Released under the ISC license+-- https://github.com/oakmac/parinfer-lua/blob/master/LICENSE.md++local M = {}++-- forward declarations+local resetParenTrail, rememberParenTrail, updateRememberedParenTrail++-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-- Constants++local UINT_NULL = -999++local INDENT_MODE = "INDENT_MODE"+local PAREN_MODE = "PAREN_MODE"++local BACKSLASH = "\\"+local BLANK_SPACE = " "+local DOUBLE_SPACE = " "+local DOUBLE_QUOTE = '"'+local NEWLINE = "\n"+local TAB = "\t"++-- local LINE_ENDING_REGEX = /\r?\n/++local MATCH_PAREN = {}+MATCH_PAREN["{"] = "}"+MATCH_PAREN["}"] = "{"+MATCH_PAREN["["] = "]"+MATCH_PAREN["]"] = "["+MATCH_PAREN["("] = ")"+MATCH_PAREN[")"] = "("++-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-- Development Helpers++-- NOTE: this is useful for development and debugging purposes+-- not required for the core library+-- local inspect = require("libs/inspect")++-- toggle this to check the asserts during development+local RUN_ASSERTS = false++-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+-- Type Predicates++local function isBoolean(x)+ return x == true or x == false+end++local function isTable(t)+ return type(t) == "table"+end++local function isInteger(i)+ return type(i) == "number" and i == math.floor(i)+end++if RUN_ASSERTS then+ assert(isInteger(1))+ assert(isInteger(-97))+ assert(not isInteger(3.14))+ assert(not isInteger())+ assert(not isInteger({}))+ assert(not isInteger("6"))+end++local function isPositiveInt(i)+ return isInteger(i) and i >= 0+end++local function isString(s)+ return type(s) == "string"+end++if RUN_ASSERTS then+ assert(isString("s"))+ assert(not isString(true))+end++local function isChar(c)+ return isString(c) and string.len(c) == 1+end++if RUN_ASSERTS then+ assert(isChar("s"))+ assert(not isChar("xx"))+ assert(not isChar(true))+end++local function isTableOfChars(t)nvim/lua/parinfer/plugin.lua view file
@@ -0,0 +1,251 @@+--- Modified version of https://github.com/gpanders/nvim-parinfer+--- See ./LICENSE++vim.g.parinfer_mode = "smart"+vim.g.parinfer_enabled = true+vim.g.parinfer_force_balance = false+vim.g.parinfer_comment_chars = {";"}++local api = vim.api+local diff = (vim.text.diff or vim.diff)+local parinfer = require("parinfer.parinfer")+local modes = {indent = parinfer.indentMode,+ paren = parinfer.parenMode,+ smart = parinfer.smartMode}++local ns = api.nvim_create_namespace("parinfer")++local state = setmetatable({}, {__index = function(t, k)+ t[k] = {}+ return t[k]+end})++-- TODO I don't really get the point of this+local function normalize_bool(val)+ if type(val) == "boolean" then+ return val+ end++ if val == nil then+ return nil+ end++ return val ~= 0+end++local function get_option(opt)+ local b = vim.b[opt] or vim.g[opt]+ if b == nil then+ return vim.g[opt]+ else+ return b+ end+end++local function invoke_parinfer(bufnr, text, lnum, col)+ local _let_32_ = (state[bufnr]["prev-cursor"] or {})+ local prev_lnum = _let_32_[1]+ local prev_col = _let_32_[2]+ local changes = state[bufnr].changes+ local request = {commentChars = get_option("parinfer_comment_chars"), prevCursorLine = prev_lnum, prevCursorX = prev_col, cursorLine = lnum, cursorX = (col + 1), changes = changes, forceBalance = normalize_bool(get_option("parinfer_force_balance"))}+ local response = modes[get_option("parinfer_mode")](text, request)+ state[bufnr]["changes"] = {}+ return response+end++-- Does kidna flicker+-- Also bad still+local function update_buffer(bufnr, old_contents, new_contents)+ api.nvim_command("silent! undojoin")+ state[bufnr]["locked"] = true+ do+ local new_lines = vim.split(new_contents, "\n")+ local hunks = diff(old_contents, new_contents, {result_type = "indices"})+ for _, hunk in ipairs(hunks) do+ local start_a = hunk[1]+ local count_a = hunk[2]+ local start_b = hunk[3]+ local count_b = hunk[4]+ local lines+ do+ local t = {}+ local i = 0+ for num = start_b, start_b + count_b do+ local new_line = new_lines[num]+ if new_line ~= nil then+ i = i + 1+ t[i] = new_line+ else+ end+ end+ lines = t+ end++ api.nvim_buf_set_lines(bufnr, start_a - 1, start_a + count_a, false, lines)+ end+ end+ local function _35_()+ state[bufnr]["locked"] = false+ return nil+ end+ return vim.schedule(_35_)+end++local function highlight_error(bufnr, err)+ api.nvim_buf_clear_namespace(bufnr, ns, 0, -1)+ if err then+ local lnum,col = (err.lineNo - 1), (err.x - 1)+ return vim.highlight.range(bufnr, ns, "Error", {lnum, col}, {lnum, (col + 1)}, "c")+ else+ return nil+ end+end++local function is_undo_leaf()+ local undotree = vim.fn.undotree()+ local seq_cur = undotree["seq_cur"]+ local seq_last = undotree["seq_last"]+ return (seq_cur == seq_last)+end++local function should_run(bufnr)+ return (normalize_bool(get_option("parinfer_enabled"))+ and not state[bufnr].locked+ and not vim.o.paste+ and not vim.bo.readonly+ and vim.bo.modifiable+ and (vim.b[bufnr].changedtick ~= state[bufnr].changedtick)+ and is_undo_leaf())+end++local elapsed_times = setmetatable({}, {__index = function(t, k)+ t[k] = {}+ return rawget(t, k)+end})++local function process_buffer(bufnr)+ if should_run(bufnr) then+ local start = vim.loop.hrtime()+ local winnr = api.nvim_get_current_win()+ local cursor = api.nvim_win_get_cursor(winnr)+ local lnum = cursor[1]+ local col = cursor[2]+ local contents = vim.api.nvim_buf_get_lines(bufnr, 0, -1, true)+ local text = table.concat(contents, "\n")+ local response = invoke_parinfer(bufnr, text, lnum, col)+ local new_lnum = response["cursorLine"]+ local new_col = response["cursorX"]+ state[bufnr]["changedtick"] = vim.b[bufnr].changedtick+ state[bufnr]["tabstops"] = response.tabStops+ state[bufnr]["prev-cursor"] = {new_lnum, new_col}+ if (response.text ~= text) then+ vim.schedule(function ()+ update_buffer(bufnr, text, response.text)+ return api.nvim_win_set_cursor(winnr, {new_lnum, (new_col - 1)})+ end+ )+ end+ highlight_error(bufnr, response.error)+ return table.insert(elapsed_times[bufnr], (vim.loop.hrtime() - start))+ end+end++local function slice(lines, start_row, start_col, row_offset, col_offset)+ local start_row0 = (start_row + 1)+ local start_col0 = (start_col + 1)++ local function get_offset_or_something()+ if row_offset == 0 then+ return start_col0 + col_offset - 1+ else+ return -1+ end+ end++ local first_line = string.sub(lines[start_row0], start_col0, get_offset_or_something())+ local out = {first_line}++ for i = (start_row0 + 1), ((start_row0 + row_offset) - 1) do+ local line = lines[i]+ table.insert(out, line)+ end++ if (row_offset ~= 0) then+ local function still_dont_know()+ if ((0 < col_offset) and lines[(start_row0 + row_offset)]) then+ return string.sub(lines[(start_row0 + row_offset)], 1, col_offset)+ else+ return ""+ end+ end+ table.insert(out, still_dont_know())+ end+ return out+end++-- TODO bad function+local function on_bytes(_, bufnr, _0, start_row, start_col, _1, old_end_row, old_end_col, _2, new_end_row, new_end_col)+ if (normalize_bool(get_option("parinfer_enabled")) and not state[bufnr].locked) then+ local prev_contents = state[bufnr]["prev-contents"]+ local contents = vim.api.nvim_buf_get_lines(bufnr, 0, -1, true)+ if (start_row < #prev_contents) then+ local old_text = slice(prev_contents, start_row, start_col, old_end_row, old_end_col)+ local new_text+ if (start_row < #contents) then+ new_text = slice(contents, start_row, start_col, new_end_row, new_end_col)+ else+ new_text = {""}+ end+ if not state[bufnr].changes then+ state[bufnr]["changes"] = {}+ else+ end+ table.insert(state[bufnr].changes, {oldText = table.concat(old_text, "\n"), newText = table.concat(new_text, "\n"), lineNo = (start_row + 1), x = (start_col + 1)})+ else+ end+ state[bufnr]["prev-contents"] = contents+ end+end++local function enter_buffer()+ local bufnr = vim.api.nvim_get_current_buf()+ local contents = vim.api.nvim_buf_get_lines(bufnr, 0, -1, true)+ state[bufnr]["changedtick"] = -1+ state[bufnr]["prev-contents"] = contents+ vim.api.nvim_buf_attach(bufnr, false, {on_bytes = on_bytes})+ local mode = vim.g.parinfer_mode+ vim.g.parinfer_mode = "paren"+ process_buffer(bufnr)+ vim.g.parinfer_mode = mode+end++local function cursor_moved(bufnr)+ return vim.schedule(+ function()+ local cursor = vim.api.nvim_win_get_cursor(0)+ local lnum = cursor[1]+ local col = cursor[2]+ state[bufnr]["prev-cursor"] = {lnum, (col + 1)}+ end)+end++local function should_enable()+ return not vim.wo.previewwindow and vim.bo.buftype ~= "prompt"+end++--- Sets up parinfer in the current buffer+local function setup()+ if should_enable() then+ local bufnr = vim.api.nvim_get_current_buf()+ enter_buffer()++ vim.api.nvim_exec_autocmds("User", {pattern = "Parinfer"})++ local ag = vim.api.nvim_create_augroup("parinfer", {clear = true})++ vim.api.nvim_create_autocmd({"TextChanged", "TextChangedI", "TextChangedP"}, {buffer = bufnr, group = ag, callback = function() process_buffer(bufnr) end})+ vim.api.nvim_create_autocmd({"CursorMoved", "CursorMovedI"}, {buffer = bufnr, group = ag, callback = function() cursor_moved(bufnr) end})+ end+end++return {setup = setup}nvim/lua/plugins/oil.lua view file
@@ -1,5 +1,3 @@-vim.cmd("packadd oil.nvim")- require("oil").setup({skip_confirm_for_simple_edits = true, default_file_explorer = true, watch_for_changes = true,nvim/lua/ui.lua view file
@@ -19,7 +19,7 @@ o.smartcase = true o.list = true-o.listchars = {tab = "» ", nbsp = "␣", trail = '·'}+o.listchars = {tab = "» ", nbsp = "␣", trail = "·"} o.fillchars = {eob = " "} o.wrap = falsenvim/pack/plugins/opt/oil.nvim/.envrc view file
@@ -1,3 +0,0 @@-export VIRTUAL_ENV=venv-layout python-python -c 'import pyparsing' 2>/dev/null || pip install -r scripts/requirements.txtnvim/pack/plugins/opt/oil.nvim/.luacheckrc view file
@@ -1,19 +0,0 @@-max_comment_line_length = false-codes = true--exclude_files = {- "tests/treesitter",-}--ignore = {- "212", -- Unused argument- "631", -- Line is too long- "122", -- Setting a readonly global- "542", -- Empty if branch-}--read_globals = {- "vim",- "a",- "assert",-}nvim/pack/plugins/opt/oil.nvim/.luarc.json view file
@@ -1,9 +0,0 @@-{- "runtime": {- "version": "LuaJIT",- "pathStrict": true- },- "type": {- "checkTableShape": true- }-}nvim/pack/plugins/opt/oil.nvim/.stylua.toml view file
@@ -1,5 +0,0 @@-column_width = 100-indent_type = "Spaces"-indent_width = 2-[sort_requires]-enabled = truenvim/pack/plugins/opt/oil.nvim/CHANGELOG.md view file
@@ -1,530 +0,0 @@-# Changelog--## [2.15.0](https://github.com/stevearc/oil.nvim/compare/v2.14.0...v2.15.0) (2025-02-13)---### Features--* add support for bufnr in column rendering functions ([#575](https://github.com/stevearc/oil.nvim/issues/575)) ([8abc58b](https://github.com/stevearc/oil.nvim/commit/8abc58b038f84078121ab1cac6ecad0163fe1635))-* API to automatically open preview window after opening oil ([#339](https://github.com/stevearc/oil.nvim/issues/339)) ([57528bf](https://github.com/stevearc/oil.nvim/commit/57528bf9c58080ca891e8d362d0a578895c136ce))-* can selectively add entries to quickfix ([#564](https://github.com/stevearc/oil.nvim/issues/564)) ([b594b9a](https://github.com/stevearc/oil.nvim/commit/b594b9a9052618669ccf6520b2d0c0d942eb8118))-* floating window max width/height can be percentages ([#553](https://github.com/stevearc/oil.nvim/issues/553)) ([1df90fa](https://github.com/stevearc/oil.nvim/commit/1df90faf927e78f5aacf278abd0bfdcb5f45e825))-* most moves and copies will copy the undofile ([#583](https://github.com/stevearc/oil.nvim/issues/583)) ([32dd3e3](https://github.com/stevearc/oil.nvim/commit/32dd3e378d47673679e76a773451f82f971a66df))-* pass oil bufnr to custom filename highlight function ([#552](https://github.com/stevearc/oil.nvim/issues/552)) ([f5c563a](https://github.com/stevearc/oil.nvim/commit/f5c563a074a38cee5a09f98e98b74dcd2c322490))---### Bug Fixes--* crash in preview on nvim 0.8 ([81b2c5f](https://github.com/stevearc/oil.nvim/commit/81b2c5f04ae24a8c83b20ecbd017fecac15faca0))-* directory rendering with custom highlights ([#551](https://github.com/stevearc/oil.nvim/issues/551)) ([a6a4f48](https://github.com/stevearc/oil.nvim/commit/a6a4f48b14b4a51fded531c86f6c04b4503a2ef8))-* disable_preview respected when preview_method != "load" ([#577](https://github.com/stevearc/oil.nvim/issues/577)) ([7cde5aa](https://github.com/stevearc/oil.nvim/commit/7cde5aab10f564408e9ac349d457d755422d58cd))-* error when non-current oil buffer has validation errors ([#561](https://github.com/stevearc/oil.nvim/issues/561)) ([8d11a2a](https://github.com/stevearc/oil.nvim/commit/8d11a2abf3039b1974d4acd65fbc83ada2ca1084))-* gracefully handle fs_stat failures ([#558](https://github.com/stevearc/oil.nvim/issues/558)) ([7c26a59](https://github.com/stevearc/oil.nvim/commit/7c26a59ac0061b199bf9f44b19d45cfadd9b14f5))-* guard against nil metadata values ([#548](https://github.com/stevearc/oil.nvim/issues/548)) ([254bc66](https://github.com/stevearc/oil.nvim/commit/254bc6635cb3f77e6e9a89155652f368e5535160))-* more consistent cursor position when entering a new directory ([#536](https://github.com/stevearc/oil.nvim/issues/536)) ([c80fa5c](https://github.com/stevearc/oil.nvim/commit/c80fa5c415b882c1c694a32748cea09b7dafc2c5))-* more robust parsing of custom column timestamp formats ([#582](https://github.com/stevearc/oil.nvim/issues/582)) ([5313690](https://github.com/stevearc/oil.nvim/commit/5313690956d27cc6b53d5a2583df05e717c59b16))-* open files in correct window from floating oil ([#560](https://github.com/stevearc/oil.nvim/issues/560)) ([83ac518](https://github.com/stevearc/oil.nvim/commit/83ac5185f79ab8d869bccea792dc516ad02ad06e))-* preview sometimes causes oil buffers to be stuck in unloaded state ([#563](https://github.com/stevearc/oil.nvim/issues/563)) ([1488f0d](https://github.com/stevearc/oil.nvim/commit/1488f0d96b1cb820dd12f05a7bf5283a631a7c4d))-* stat files if fs_readdir doesn't provide a type ([#543](https://github.com/stevearc/oil.nvim/issues/543)) ([c6a39a6](https://github.com/stevearc/oil.nvim/commit/c6a39a69b2df7c10466f150dde0bd23e49c1fba3))-* support permissions checks on windows and virtual filesystems ([#555](https://github.com/stevearc/oil.nvim/issues/555)) ([7041528](https://github.com/stevearc/oil.nvim/commit/7041528bdedb350ad66e650684deec8456e053cc))-* work around incorrect link detection on windows ([#557](https://github.com/stevearc/oil.nvim/issues/557)) ([09fa1d2](https://github.com/stevearc/oil.nvim/commit/09fa1d22f5edf0730824d2b222d726c8c81bbdc9))--## [2.14.0](https://github.com/stevearc/oil.nvim/compare/v2.13.0...v2.14.0) (2024-12-21)---### Features--* add `win_options` to `preview_win` ([#514](https://github.com/stevearc/oil.nvim/issues/514)) ([bbeed86](https://github.com/stevearc/oil.nvim/commit/bbeed86bde134da8d09bed64b6aa0d65642e6b23))-* add highlight group for orphaned links ([#502](https://github.com/stevearc/oil.nvim/issues/502)) ([740b8fd](https://github.com/stevearc/oil.nvim/commit/740b8fd425a2b77f7f40eb5ac155ebe66ff9515c))-* better merging of action desc when overriding keymaps ([f2b3249](https://github.com/stevearc/oil.nvim/commit/f2b324933f4d505cff6f7d445fd61fad02dcd9ae))-* config option to customize filename highlight group ([#508](https://github.com/stevearc/oil.nvim/issues/508)) ([99ce32f](https://github.com/stevearc/oil.nvim/commit/99ce32f4a2ecf76263b72fcc31efb163faa1a941))-* config option to disable previewing a file ([3fa3161](https://github.com/stevearc/oil.nvim/commit/3fa3161aa9515ff6a7cf7e44458b6a2114262870))-* disable preview for large files ([#511](https://github.com/stevearc/oil.nvim/issues/511)) ([c23fe08](https://github.com/stevearc/oil.nvim/commit/c23fe08e0546d9efc242e19f0d829efa7e7b2743))-* highlight groups for hidden files ([#459](https://github.com/stevearc/oil.nvim/issues/459)) ([60e6896](https://github.com/stevearc/oil.nvim/commit/60e68967e51ff1ecd264c29e3de0d52bfff22df3))-* option to quite vim if oil is closed as last buffer ([#491](https://github.com/stevearc/oil.nvim/issues/491)) ([81cc9c3](https://github.com/stevearc/oil.nvim/commit/81cc9c3f62ddbef3687931d119e505643496fa0a))-* use scratch buffer for file previews ([#467](https://github.com/stevearc/oil.nvim/issues/467)) ([21705a1](https://github.com/stevearc/oil.nvim/commit/21705a1debe6d85a53c138ab944484b685432b2b))---### Bug Fixes--* cursor sometimes does not hover previous file ([8ea40b5](https://github.com/stevearc/oil.nvim/commit/8ea40b5506115b6d355e304dd9ee5089f7d78601))-* don't take over the preview window until it's opened for oil ([#532](https://github.com/stevearc/oil.nvim/issues/532)) ([78ab7ca](https://github.com/stevearc/oil.nvim/commit/78ab7ca1073731ebdf82efa474202defa028d5a4))-* handle files with newlines in the name ([#534](https://github.com/stevearc/oil.nvim/issues/534)) ([dba0375](https://github.com/stevearc/oil.nvim/commit/dba037598843973b8c54bc5ce0318db4a0da439d))-* image.nvim previews with preview_method=scratch ([5acab3d](https://github.com/stevearc/oil.nvim/commit/5acab3d8a9bc85a571688db432f2702dd7d901a4))-* improper file name escaping ([#530](https://github.com/stevearc/oil.nvim/issues/530)) ([7a55ede](https://github.com/stevearc/oil.nvim/commit/7a55ede5e745e31ea8e4cb5483221524922294bf))-* set alternate when using floating windows ([#526](https://github.com/stevearc/oil.nvim/issues/526)) ([c5f7c56](https://github.com/stevearc/oil.nvim/commit/c5f7c56644425e2b77e71904da98cda0331b3342))-* work around performance issue with treesitter, folds, and large directories ([da93d55](https://github.com/stevearc/oil.nvim/commit/da93d55e32d73a17c447067d168d80290ae96590))---### Performance Improvements--* change default view_options.natural_order behavior to disable on large directories ([01b0b9d](https://github.com/stevearc/oil.nvim/commit/01b0b9d8ef79b7b631e92f6b5fed1c639262d570))-* only sort entries after we have them all ([792f0db](https://github.com/stevearc/oil.nvim/commit/792f0db6ba8b626b14bc127e1ce7247185b3be91))-* optimize rendering cadence ([c96f93d](https://github.com/stevearc/oil.nvim/commit/c96f93d894cc97e76b0871bec4058530eee8ece4))-* replace vim.endswith and vim.startswith with string.match ([4de3025](https://github.com/stevearc/oil.nvim/commit/4de30256c32cd272482bc6df0c6de78ffc389153))--## [2.13.0](https://github.com/stevearc/oil.nvim/compare/v2.12.2...v2.13.0) (2024-11-11)---### Features--* config option to customize floating window title ([#482](https://github.com/stevearc/oil.nvim/issues/482)) ([5d2dfae](https://github.com/stevearc/oil.nvim/commit/5d2dfae655b9b689bd4017b3bdccd52cbee5b92f))-* config option to disable lsp file methods ([#477](https://github.com/stevearc/oil.nvim/issues/477)) ([f60bb7f](https://github.com/stevearc/oil.nvim/commit/f60bb7f793477d99ef1acf39e920bf2ca4e644de))---### Bug Fixes--* actions.preview accepts options ([#497](https://github.com/stevearc/oil.nvim/issues/497)) ([cca1631](https://github.com/stevearc/oil.nvim/commit/cca1631d5ea450c09ba72f3951a9e28105a3632c))-* add trailing slash to directories on yank_entry ([#504](https://github.com/stevearc/oil.nvim/issues/504)) ([42333bb](https://github.com/stevearc/oil.nvim/commit/42333bb46e34dd47e13927010b1dcd30e6e4ca96))-* don't deep merge keymaps ([#510](https://github.com/stevearc/oil.nvim/issues/510)) ([709403c](https://github.com/stevearc/oil.nvim/commit/709403ccd6f22d859c2e42c780ab558ae89284d9))-* guard against nil keymaps ([621f8ba](https://github.com/stevearc/oil.nvim/commit/621f8ba4fa821724e9b646732a26fb2e795fe008))-* only map ~ for normal mode ([#484](https://github.com/stevearc/oil.nvim/issues/484)) ([ccab9d5](https://github.com/stevearc/oil.nvim/commit/ccab9d5e09e2d0042fbbe5b6bd05e82426247067))-* sort keymap help entries by description ([#506](https://github.com/stevearc/oil.nvim/issues/506)) ([52cc8a1](https://github.com/stevearc/oil.nvim/commit/52cc8a1fb35ea6ce1df536143add7ce7215c63c0)), closes [#376](https://github.com/stevearc/oil.nvim/issues/376)--## [2.12.2](https://github.com/stevearc/oil.nvim/compare/v2.12.1...v2.12.2) (2024-09-10)---### Bug Fixes--* ensure win_options are being set on correct window ([#469](https://github.com/stevearc/oil.nvim/issues/469)) ([30e0438](https://github.com/stevearc/oil.nvim/commit/30e0438ff08f197d7ce4a417445ab97ee72efe2d))-* wrap git rm callback in schedule_wrap ([#475](https://github.com/stevearc/oil.nvim/issues/475)) ([b053744](https://github.com/stevearc/oil.nvim/commit/b05374428e5136d9b6c8e1e8e62a75f82283b1f8))---### Performance Improvements-nvim/pack/plugins/opt/oil.nvim/Makefile view file
@@ -1,66 +0,0 @@-## help: print this help message-.PHONY: help-help:- @echo 'Usage:'- @sed -n 's/^##//p' ${MAKEFILE_LIST} | column -t -s ':' | sed -e 's/^/ /'--## all: generate docs, lint, and run tests-.PHONY: all-all: doc lint test--venv:- python3 -m venv venv- venv/bin/pip install -r scripts/requirements.txt--## doc: generate documentation-.PHONY: doc-doc: scripts/nvim_doc_tools venv- venv/bin/python scripts/main.py generate- venv/bin/python scripts/main.py lint--## test: run tests-.PHONY: test-test:- ./run_tests.sh--## lint: run linters and LuaLS typechecking-.PHONY: lint-lint: scripts/nvim-typecheck-action fastlint- ./scripts/nvim-typecheck-action/typecheck.sh --workdir scripts/nvim-typecheck-action lua--## fastlint: run only fast linters-.PHONY: fastlint-fastlint: scripts/nvim_doc_tools venv- venv/bin/python scripts/main.py lint- luacheck lua tests --formatter plain- stylua --check lua tests--## profile: use LuaJIT profiler to profile the plugin-.PHONY: profile-profile: scripts/benchmark.nvim- nvim --clean -u perf/bootstrap.lua -c 'lua jit_profile()'--## flame_profile: create a trace in the chrome profiler format-.PHONY: flame_profile-flame_profile: scripts/benchmark.nvim- nvim --clean -u perf/bootstrap.lua -c 'lua flame_profile()'--## benchmark: benchmark performance opening directory with many files-.PHONY: benchmark-benchmark: scripts/benchmark.nvim- nvim --clean -u perf/bootstrap.lua -c 'lua benchmark()'- @cat perf/tmp/benchmark.txt--scripts/nvim_doc_tools:- git clone https://github.com/stevearc/nvim_doc_tools scripts/nvim_doc_tools--scripts/nvim-typecheck-action:- git clone https://github.com/stevearc/nvim-typecheck-action scripts/nvim-typecheck-action--scripts/benchmark.nvim:- git clone https://github.com/stevearc/benchmark.nvim scripts/benchmark.nvim--## clean: reset the repository to a clean state-.PHONY: clean-clean:- rm -rf scripts/nvim_doc_tools scripts/nvim-typecheck-action venv .testenv perf/tmp profile.jsonnvim/pack/plugins/opt/oil.nvim/README.md view file
@@ -1,448 +0,0 @@-# oil.nvim--A [vim-vinegar](https://github.com/tpope/vim-vinegar) like file explorer that lets you edit your filesystem like a normal Neovim buffer.--https://user-images.githubusercontent.com/506791/209727111-6b4a11f4-634a-4efa-9461-80e9717cea94.mp4--<!-- TOC -->--- [Requirements](#requirements)-- [Installation](#installation)-- [Quick start](#quick-start)-- [Options](#options)-- [Adapters](#adapters)-- [Recipes](#recipes)-- [Third-party extensions](#third-party-extensions)-- [API](#api)-- [FAQ](#faq)--<!-- /TOC -->--## Requirements--- Neovim 0.8+-- Icon provider plugin (optional)- - [mini.icons](https://github.com/nvim-mini/mini.nvim/blob/main/readmes/mini-icons.md) for file and folder icons- - [nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) for file icons--## Installation--oil.nvim supports all the usual plugin managers--<details>- <summary>lazy.nvim</summary>--```lua-{- 'stevearc/oil.nvim',- ---@module 'oil'- ---@type oil.SetupOpts- opts = {},- -- Optional dependencies- dependencies = { { "nvim-mini/mini.icons", opts = {} } },- -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons- -- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.- lazy = false,-}-```--</details>--<details>- <summary>Packer</summary>--```lua-require("packer").startup(function()- use({- "stevearc/oil.nvim",- config = function()- require("oil").setup()- end,- })-end)-```--</details>--<details>- <summary>Paq</summary>--```lua-require("paq")({- { "stevearc/oil.nvim" },-})-```--</details>--<details>- <summary>vim-plug</summary>--```vim-Plug 'stevearc/oil.nvim'-```--</details>--<details>- <summary>dein</summary>--```vim-call dein#add('stevearc/oil.nvim')-```--</details>--<details>- <summary>Pathogen</summary>--```shnvim/pack/plugins/opt/oil.nvim/doc/api.md view file
@@ -1,205 +0,0 @@-# API--<!-- TOC -->--- [get_entry_on_line(bufnr, lnum)](#get_entry_on_linebufnr-lnum)-- [get_cursor_entry()](#get_cursor_entry)-- [discard_all_changes()](#discard_all_changes)-- [set_columns(cols)](#set_columnscols)-- [set_sort(sort)](#set_sortsort)-- [set_is_hidden_file(is_hidden_file)](#set_is_hidden_fileis_hidden_file)-- [toggle_hidden()](#toggle_hidden)-- [get_current_dir(bufnr)](#get_current_dirbufnr)-- [open_float(dir, opts, cb)](#open_floatdir-opts-cb)-- [toggle_float(dir, opts, cb)](#toggle_floatdir-opts-cb)-- [open(dir, opts, cb)](#opendir-opts-cb)-- [close(opts)](#closeopts)-- [open_preview(opts, callback)](#open_previewopts-callback)-- [select(opts, callback)](#selectopts-callback)-- [save(opts, cb)](#saveopts-cb)-- [setup(opts)](#setupopts)--<!-- /TOC -->--<!-- API -->--## get_entry_on_line(bufnr, lnum)--`get_entry_on_line(bufnr, lnum): nil|oil.Entry` \-Get the entry on a specific line (1-indexed)--| Param | Type | Desc |-| ----- | --------- | ---- |-| bufnr | `integer` | |-| lnum | `integer` | |--## get_cursor_entry()--`get_cursor_entry(): nil|oil.Entry` \-Get the entry currently under the cursor---## discard_all_changes()--`discard_all_changes()` \-Discard all changes made to oil buffers---## set_columns(cols)--`set_columns(cols)` \-Change the display columns for oil--| Param | Type | Desc |-| ----- | ------------------ | ---- |-| cols | `oil.ColumnSpec[]` | |--## set_sort(sort)--`set_sort(sort)` \-Change the sort order for oil--| Param | Type | Desc |-| ----- | ---------------- | ------------------------------------------------------------------------------------- |-| sort | `oil.SortSpec[]` | List of columns plus direction. See :help oil-columns to see which ones are sortable. |--**Examples:**-```lua-require("oil").set_sort({ { "type", "asc" }, { "size", "desc" } })-```--## set_is_hidden_file(is_hidden_file)--`set_is_hidden_file(is_hidden_file)` \-Change how oil determines if the file is hidden--| Param | Type | Desc |-| -------------- | ------------------------------------------------ | -------------------------------------------- |-| is_hidden_file | `fun(filename: string, bufnr: integer): boolean` | Return true if the file/dir should be hidden |--## toggle_hidden()--`toggle_hidden()` \-Toggle hidden files and directories---## get_current_dir(bufnr)--`get_current_dir(bufnr): nil|string` \-Get the current directory--| Param | Type | Desc |-| ----- | -------------- | ---- |-| bufnr | `nil\|integer` | |--## open_float(dir, opts, cb)--`open_float(dir, opts, cb)` \-Open oil browser in a floating window-nvim/pack/plugins/opt/oil.nvim/doc/oil.txt view file
@@ -1,778 +0,0 @@-*oil.txt*-*Oil* *oil* *oil.nvim*----------------------------------------------------------------------------------CONTENTS *oil-contents*-- 1. Config |oil-config|- 2. Options |oil-options|- 3. Api |oil-api|- 4. Columns |oil-columns|- 5. Actions |oil-actions|- 6. Highlights |oil-highlights|- 7. Trash |oil-trash|-----------------------------------------------------------------------------------CONFIG *oil-config*-->lua- require("oil").setup({- -- Oil will take over directory buffers (e.g. `vim .` or `:e src/`)- -- Set to false if you want some other plugin (e.g. netrw) to open when you edit directories.- default_file_explorer = true,- -- Id is automatically added at the beginning, and name at the end- -- See :help oil-columns- columns = {- "icon",- -- "permissions",- -- "size",nvim/pack/plugins/opt/oil.nvim/doc/recipes.md view file
nvim/pack/plugins/opt/oil.nvim/lua/resession/extensions/oil.lua view file
nvim/pack/plugins/opt/oil.nvim/perf/bootstrap.lua view file
nvim/pack/plugins/opt/oil.nvim/run_tests.sh view file
nvim/pack/plugins/opt/oil.nvim/scripts/generate.py view file
nvim/pack/plugins/opt/oil.nvim/scripts/main.py view file
nvim/pack/plugins/opt/oil.nvim/scripts/requirements.txt view file
nvim/pack/plugins/opt/oil.nvim/syntax/oil.vim view file
nvim/pack/plugins/opt/oil.nvim/syntax/oil_preview.vim view file
nvim/pack/plugins/opt/oil.nvim/tests/altbuf_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/files_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/manual_progress.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/minimal_init.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/move_rename_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/mutator_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/parser_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/path_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/preview_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/regression_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/select_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/test_util.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/tmpdir.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/trash_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/url_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/util_spec.lua view file
nvim/pack/plugins/opt/oil.nvim/tests/win_options_spec.lua view file
nvim/pack/plugins/opt/parinfer-rust/.envrc view file
nvim/pack/plugins/opt/parinfer-rust/.gitignore view file
nvim/pack/plugins/opt/parinfer-rust/.nvmrc view file
nvim/pack/plugins/opt/parinfer-rust/CHANGELOG.adoc view file
nvim/pack/plugins/opt/parinfer-rust/Cargo.lock view file
nvim/pack/plugins/opt/parinfer-rust/Cargo.toml view file
nvim/pack/plugins/opt/parinfer-rust/LICENSE.md view file
nvim/pack/plugins/opt/parinfer-rust/Makefile view file
nvim/pack/plugins/opt/parinfer-rust/README.adoc view file
nvim/pack/plugins/opt/parinfer-rust/Web.toml view file
nvim/pack/plugins/opt/parinfer-rust/benches/perf.rs view file
nvim/pack/plugins/opt/parinfer-rust/benches/perf/long_map_with_strings view file
nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file view file
nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file_with_unclosed_paren view file
nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file_with_unclosed_quote view file
nvim/pack/plugins/opt/parinfer-rust/derivation.nix view file
nvim/pack/plugins/opt/parinfer-rust/dist/parinfer_rust.js view file
nvim/pack/plugins/opt/parinfer-rust/dist/parinfer_rust.wasm view file
nvim/pack/plugins/opt/parinfer-rust/dist/wrapper.js view file
nvim/pack/plugins/opt/parinfer-rust/doc/parinfer.txt view file
nvim/pack/plugins/opt/parinfer-rust/extra-docs/MacOS-Code-Signing.adoc view file
nvim/pack/plugins/opt/parinfer-rust/flake.lock view file
nvim/pack/plugins/opt/parinfer-rust/flake.nix view file
nvim/pack/plugins/opt/parinfer-rust/package.json view file
nvim/pack/plugins/opt/parinfer-rust/plugin/parinfer.vim view file
nvim/pack/plugins/opt/parinfer-rust/rc/parinfer.kak view file
nvim/pack/plugins/opt/parinfer-rust/script/release view file
nvim/pack/plugins/opt/parinfer-rust/src/c_wrapper.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/changes.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/cli_options.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/common_wrapper.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/emacs_wrapper.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/kakoune.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/lib.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/main.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/parinfer.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/types.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/wasm_wrapper.rs view file
nvim/pack/plugins/opt/parinfer-rust/src/webcore/runtime.js view file
nvim/pack/plugins/opt/parinfer-rust/src/webcore/runtime_wasm.js view file
nvim/pack/plugins/opt/parinfer-rust/tests/cases.rs view file
nvim/pack/plugins/opt/parinfer-rust/tests/cases/indent-mode.json view file
nvim/pack/plugins/opt/parinfer-rust/tests/cases/paren-mode.json view file
nvim/pack/plugins/opt/parinfer-rust/tests/cases/smart-mode.json view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/insert/cmd view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/insert/in view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/insert/out view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/janet/cmd view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/janet/in view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/janet/out view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/cmd view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/in view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/out view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/selections view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/picolisp/cmd view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/picolisp/in view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/picolisp/out view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/run.sh view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/select-word/cmd view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/select-word/in view file
nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/select-word/selections view file
nvim/pack/plugins/opt/parinfer-rust/tests/vim/run.vim view file
nvim/pack/plugins/opt/parinfer-rust/tests/vim/tests-cases.md view file
nvim/pack/plugins/opt/parinfer-rust/tests/vim/vimrc view file
nvim/syntax/oil.vim view file