9e15467
Branches > main > 9e15467 > files / nvim / pack / plugins / opt / conjure / dev / fennel / sandbox.fnl
nvim
Commit: 9e15467e571dab825395d040642cc4464782c084
Parent: 8646c2c
72 changed files:
nvim/init.lua view file
@@ -5,6 +5,7 @@ require("center") require("opts")+require("filetype") local nvim_arg = vim.fn.argv(0) if vim.fn.isdirectory(nvim_arg) == 1 then@@ -15,8 +16,9 @@ vim.schedule(function() require("lsp") end) vim.schedule(function() require("lazy_ui") end) +--- TODO there's a bug tha parens and virtual text likes to stick around for longer than it should...+ --- Still to do:---- REPL (Conjure) --- Parens (Parinfer) --- Formatting (better formatting anyway :p) nvim/lua/colors.lua view file
@@ -126,6 +126,7 @@ -- ??? hl(0, "@lsp.type.event.clojure", {link = "White"}) hl(0, "@lsp.type.type.clojure", {link = "White"})+hl(0, "@lsp.type.class.clojure", {link = "Blue"}) hl(0, "@lsp.type.namespace.clojure", {link = "White"}) hl(0, "rubyStringDelimiter", {link = "String"})nvim/lua/filetype.lua view file
@@ -0,0 +1,6 @@+vim.api.nvim_create_autocmd("FileType", {+ pattern = "clojure",+ callback = function()+ require("plugins.conjure")+ end,+})nvim/lua/jump.lua view file
@@ -2,9 +2,9 @@ local ns = vim.api.nvim_create_namespace("dev.grahp.nvim-jump") --- Name meanings:---- Jump target: Somewhere you can jump to - Union of Match and table of optional Disambiguator+--- Jump target: Somewhere you can jump to - row, col (pos), char, and optional disambiguator --- Disambiguator: A third character used to differentiate jump targets when there are multiple---- Match: Union Pos and a table of Char+--- Match: row, col (pos) and char --- Row: The number of lines into the buffer line is? (0-based?) --- Col: The number of characters into the line? (1-based?) --- Pos: table of row, colnvim/lua/keybindings.lua view file
@@ -39,11 +39,11 @@ keymap("n", "<Space>u", function() require("plugins.oil").open() end) -keymap("n", "<Space>f", function() require("fuzzy").fuzzy_find() end)+keymap("n", "<Space>g", function() require("fuzzy").fuzzy_find() end) keymap({"n", "v", "o"}, ";", function() require("jump").jump() end) local smart_n = require("smart_n").smart_n -keymap({"n", "v", "o"}, "n", smart_n(false), {expr = true, noremap = true})-keymap({"n", "v", "o"}, "N", smart_n(true), {expr = true, noremap = true})+keymap({"n", "v", "o"}, "n", function() return smart_n(false) end, {expr = true, noremap = true})+keymap({"n", "v", "o"}, "N", function() return smart_n(true) end, {expr = true, noremap = true})nvim/lua/plugins/conjure.lua view file
@@ -0,0 +1,24 @@+local keymap = vim.keymap.set+local g = vim.g++vim.cmd("packadd conjure")++-- require("oil").setup({skip_confirm_for_simple_edits = true,+-- default_file_explorer = true,+-- watch_for_changes = true,+-- view_options = {show_hidden = true}})++-- require("conjure").setup()++keymap("n", "<Space>s", "<cmd>ConjureEvalCurrentForm<CR>")+keymap("n", "<Space>d", "<cmd>ConjureEvalRootForm<CR>")+keymap("n", "<Space>f", "<cmd>ConjureEvalBuf<CR>")+keymap("n", "<Space>l", "<cmd>ConjureEvalWord<CR>")+keymap("n", "<Space>e", "<cmd>ConjureCljLastException<CR>")+keymap("n", "<Space>b", "<cmd>ConjureLogBuf<CR>")++g["conjure#log#hud#height"] = 1+g["conjure#log#hud#border"] = {"╭", "─", "╮", "│", "╯", "─", "╰", "│"}+g["conjure#log#botright"] = true+--- Stop K from being re-defined+g["conjure#mapping#doc_word"] = falsenvim/lua/smart_n.lua view file
@@ -25,9 +25,7 @@ end local function smart_n(reverse, not_smart)- if vim.b.last_n_type == nil then- return ""- elseif vim.b.last_n_type == FT then+ if vim.b.last_n_type == FT then local cs = vim.fn.getcharsearch() if reverse then return (not_smart and ",") or cs.forward == 1 and "," or ";"@@ -52,8 +50,13 @@ -- vim.keymap.set({"n", "v", "o"}, "n", function() return smart_n(false) end, {expr = true, noremap = true}) -- vim.keymap.set({"n", "v", "o"}, "N", function() return smart_n(true) end, {expr = true, noremap = true}) ---- As this keeps track of what you're doing, this file should be required before you're actually moving around---- You can defer it from first paint though.+--- In another file+-- local smart_n = require("smart_n").smart_n -- Or wherever you put it+-- vim.keymap.set({"n", "v", "o"}, "n", function() return smart_n(false) end, {expr = true, noremap = true})+-- vim.keymap.set({"n", "v", "o"}, "N", function() return smart_n(true) end, {expr = true, noremap = true})++--- As this keeps track of the last type of search you performed, this file should be loaded before you're actually moving around.+--- You can defer it from first paint though, i.e. vim.schedule(function() require("smart_n") end) return {smart_n = smart_n, not_smart_n = not_smart_n}nvim/pack/plugins/opt/parinfer-rust/.envrc view file
@@ -0,0 +1 @@+use flakenvim/pack/plugins/opt/parinfer-rust/.gitignore view file
@@ -0,0 +1,7 @@+/bin/+/target/+/node_modules/+**/*.rs.bk+/result+/result-*+/.direnvnvim/pack/plugins/opt/parinfer-rust/.nvmrc view file
@@ -0,0 +1 @@+v8.10.0nvim/pack/plugins/opt/parinfer-rust/CHANGELOG.adoc view file
@@ -0,0 +1,165 @@+ChangeLog+=========++https://github.com/eraserhd/parinfer-rust/compare/v0.5.0...HEAD[Unreleased]+---------------------------------------------------------------------------++=== Fixed++* Kakoune: Instead of expecting the binary in the path, tries to detect the+ path, which can be overridden with the parinfer_path option. Looks in+ `~/.cargo/bin` first.++=== Added++* Added support for https://hylang.org/[Hy].+* Added support for https://picolisp.com/wiki/?home[PicoLisp].++https://github.com/eraserhd/parinfer-rust/compare/v0.4.3...HEAD[v0.5.0]+-----------------------------------------------------------------------++* Support for Apple Silicon (by bumping dependency versions)+* Update to Rust edition 2021++=== Vim++* Vim errors when opening an unmodifiable buffer.+* Fix of E523 regression (often triggered by using `.`), because Vim+ changed the error to E578+* Add support for https://github.com/ocaml/dune[Dune]++=== Added++* Added support for https://github.com/elkowar/eww[Yuck]+* String delimiters can now be explicitly configured with the + `string_delimiters` option.+* Added -l, --language LANG option to easily specify language defaults.+* The user can now set the character used to denote comments. The+ character can be set on a global or per-buffer basis (using+ `g:parinfer_comment_char` and `b:parinfer_comment_char` respectively).+ By default, the global character is `;` and the character for Janet+ buffers is `#`.+* Add support for Janet's multiple-backtick-enclosed long strings.+* Support for WebAssembly+* More support for Common Lisp and Scheme:+ - `|Enclosed symbols|`+ - `#|Block comments|#`+ - `#;(S-expression comments)`+* Support for Guile's `#!block comments!#`++=== Emacs++* Compilation for Emacs is now optional. To enable it, run+`cargo build --release --features emacs`+++https://github.com/eraserhd/parinfer-rust/compare/v0.4.2...v0.4.3[0.4.3]+------------------------------------------------------------------------++=== Fixed++* Sometimes dlerror() is null on second invocation, causing SEGV instead+ of an informative panic.+* Fix for rust+glibc 2.30 test failures: self-reference code no longer+ works in test because glibc 2.30 refuses to load position-independent+ code or no-library code, so it is disabled.++https://github.com/eraserhd/parinfer-rust/compare/v0.4.1...v0.4.2[0.4.2]+------------------------------------------------------------------------++=== Fixed++* Errors in build and release actions.+++https://github.com/eraserhd/parinfer-rust/compare/v0.4.0...v0.4.1[0.4.1]+------------------------------------------------------------------------++=== Fixed++* Test error "Could not get parinfer library path" (#57).++=== Vim++* Add support for loading with Vim/Neovim `packadd`+* Add support for https://fennel-lang.org[Fennel]+* Add support for https://janet-lang.org[Janet]++=== Kakoune++* Prevent Unicode characters from "locking up" the cursor. Closes #55.+ (This requires a version of Kakoune dated Nov 12, 2019 or later, with the+ `-display-column` option to `:select`.)++https://github.com/eraserhd/parinfer-rust/compare/v0.3.1...v0.4.0[0.4.0]+------------------------------------------------------------------------++=== Releases++* GitHub Actions test and release on Linux, Windows, and Macnvim/pack/plugins/opt/parinfer-rust/Cargo.lock view file
@@ -0,0 +1,476 @@+# This file is automatically @generated by Cargo.+# It is not intended for manual editing.+version = 4++[[package]]+name = "anyhow"+version = "1.0.95"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"++[[package]]+name = "base-x"+version = "0.2.11"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270"++[[package]]+name = "bumpalo"+version = "3.16.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"++[[package]]+name = "cfg-if"+version = "1.0.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"++[[package]]+name = "ctor"+version = "0.1.26"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"+dependencies = [+ "quote",+ "syn 1.0.109",+]++[[package]]+name = "darling"+version = "0.10.2"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858"+dependencies = [+ "darling_core",+ "darling_macro",+]++[[package]]+name = "darling_core"+version = "0.10.2"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"+dependencies = [+ "fnv",+ "ident_case",+ "proc-macro2",+ "quote",+ "strsim",+ "syn 1.0.109",+]++[[package]]+name = "darling_macro"+version = "0.10.2"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"+dependencies = [+ "darling_core",+ "quote",+ "syn 1.0.109",+]++[[package]]+name = "discard"+version = "1.0.4"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"++[[package]]+name = "emacs"+version = "0.19.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "9a773f2eeb842fea9f9e52f8360dbf7c0c54af0c904e025c9e08db5053b8718c"+dependencies = [+ "anyhow",+ "ctor",+ "emacs-macros",+ "emacs_module",+ "once_cell",+ "rustc_version",+ "thiserror",+]++[[package]]+name = "emacs-macros"+version = "0.17.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "69656fdfe7c2608b87164964db848b5c3795de7302e3130cce7131552c6be161"+dependencies = [+ "darling",+ "proc-macro2",+ "quote",+ "syn 1.0.109",+]++[[package]]+name = "emacs_module"+version = "0.18.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "b3067bc974045ed2c6db333bd4fc30d3bdaafa6421a9a889fa7b2826b6f7f2fa"++[[package]]+name = "fnv"+version = "1.0.7"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"++[[package]]+name = "getopts"+version = "0.2.21"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"+dependencies = [+ "unicode-width",+]++[[package]]+name = "ident_case"+version = "1.0.1"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"++[[package]]+name = "itoa"+version = "1.0.14"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"++[[package]]+name = "libc"+version = "0.2.169"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"++[[package]]+name = "log"+version = "0.4.25"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"++[[package]]+name = "memchr"+version = "2.7.4"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"++[[package]]+name = "once_cell"+version = "1.20.2"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"++[[package]]+name = "parinfer_rust"+version = "0.5.0"+dependencies = [+ "emacs",+ "getopts",+ "libc",+ "serde",+ "serde_derive",+ "serde_json",+ "stdweb",+ "unicode-segmentation",+ "unicode-width",+ "winapi",+]++[[package]]+name = "proc-macro2"+version = "1.0.93"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"+dependencies = [+ "unicode-ident",+]++[[package]]+name = "quote"+version = "1.0.38"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"+dependencies = [+ "proc-macro2",+]++[[package]]+name = "rustc_version"+version = "0.2.3"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"+dependencies = [+ "semver",+]++[[package]]+name = "rustversion"+version = "1.0.19"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"++[[package]]+name = "ryu"+version = "1.0.18"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"++[[package]]+name = "semver"+version = "0.9.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"+dependencies = [+ "semver-parser",+]++[[package]]+name = "semver-parser"+version = "0.7.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"++[[package]]+name = "serde"+version = "1.0.217"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"+dependencies = [+ "serde_derive",+]++[[package]]+name = "serde_derive"+version = "1.0.217"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"+dependencies = [+ "proc-macro2",+ "quote",+ "syn 2.0.96",+]++[[package]]+name = "serde_json"+version = "1.0.137"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"+dependencies = [+ "itoa",+ "memchr",+ "ryu",+ "serde",+]++[[package]]+name = "sha1"+version = "0.6.1"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"+dependencies = [+ "sha1_smol",+]++[[package]]+name = "sha1_smol"+version = "1.0.1"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"++[[package]]+name = "stdweb"+version = "0.4.20"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"+dependencies = [+ "discard",+ "rustc_version",+ "serde",+ "serde_json",+ "stdweb-derive",+ "stdweb-internal-macros",+ "stdweb-internal-runtime",+ "wasm-bindgen",+]++[[package]]+name = "stdweb-derive"+version = "0.5.3"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"+dependencies = [+ "proc-macro2",+ "quote",+ "serde",+ "serde_derive",+ "syn 1.0.109",+]++[[package]]+name = "stdweb-internal-macros"+version = "0.2.9"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"+dependencies = [+ "base-x",+ "proc-macro2",+ "quote",+ "serde",+ "serde_derive",+ "serde_json",+ "sha1",+ "syn 1.0.109",+]++[[package]]+name = "stdweb-internal-runtime"+version = "0.1.5"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"++[[package]]+name = "strsim"+version = "0.9.3"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c"++[[package]]+name = "syn"+version = "1.0.109"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"+dependencies = [+ "proc-macro2",+ "quote",+ "unicode-ident",+]++[[package]]+name = "syn"+version = "2.0.96"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"+dependencies = [+ "proc-macro2",+ "quote",+ "unicode-ident",+]++[[package]]+name = "thiserror"+version = "1.0.69"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"+dependencies = [+ "thiserror-impl",+]++[[package]]+name = "thiserror-impl"+version = "1.0.69"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"+dependencies = [+ "proc-macro2",+ "quote",+ "syn 2.0.96",+]++[[package]]+name = "unicode-ident"+version = "1.0.15"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "11cd88e12b17c6494200a9c1b683a04fcac9573ed74cd1b62aeb2727c5592243"++[[package]]+name = "unicode-segmentation"+version = "1.12.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"++[[package]]+name = "unicode-width"+version = "0.1.14"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"++[[package]]+name = "wasm-bindgen"+version = "0.2.100"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"+dependencies = [+ "cfg-if",+ "once_cell",+ "rustversion",+ "wasm-bindgen-macro",+]++[[package]]+name = "wasm-bindgen-backend"+version = "0.2.100"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"+dependencies = [+ "bumpalo",+ "log",+ "proc-macro2",+ "quote",+ "syn 2.0.96",+ "wasm-bindgen-shared",+]++[[package]]+name = "wasm-bindgen-macro"+version = "0.2.100"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"+dependencies = [+ "quote",+ "wasm-bindgen-macro-support",+]++[[package]]+name = "wasm-bindgen-macro-support"+version = "0.2.100"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"+dependencies = [+ "proc-macro2",+ "quote",+ "syn 2.0.96",+ "wasm-bindgen-backend",+ "wasm-bindgen-shared",+]++[[package]]+name = "wasm-bindgen-shared"+version = "0.2.100"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"+dependencies = [+ "unicode-ident",+]++[[package]]+name = "winapi"+version = "0.3.9"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"+dependencies = [+ "winapi-i686-pc-windows-gnu",+ "winapi-x86_64-pc-windows-gnu",+]++[[package]]+name = "winapi-i686-pc-windows-gnu"+version = "0.4.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"++[[package]]+name = "winapi-x86_64-pc-windows-gnu"+version = "0.4.0"+source = "registry+https://github.com/rust-lang/crates.io-index"+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"nvim/pack/plugins/opt/parinfer-rust/Cargo.toml view file
@@ -0,0 +1,29 @@+[package]+name = "parinfer_rust"+version = "0.5.0"+authors = ["Jason Felice <jason.m.felice@gmail.com>"]+edition = "2021"++[lib]+crate-type = ["lib", "cdylib"]++[[bin]]+name = "parinfer-rust"+path = "src/main.rs"++[dependencies]+getopts = "0.2"+libc = "0.2.39"+serde = "1.0"+emacs = {version = "0.19.0", optional = true}+serde_json = "1.0"+serde_derive = "1.0"+unicode-segmentation = "1.1.0"+unicode-width = "0.1.5"++[target.'cfg(target_arch = "wasm32")'.dependencies]+stdweb = "0.4.4"++[target.'cfg(windows)'.dependencies]+winapi = { version = "0.3.6", features = ["libloaderapi"] }+nvim/pack/plugins/opt/parinfer-rust/LICENSE.md view file
@@ -0,0 +1,15 @@+ISC License++Copyright (c) 2018, Jason Felice and Contributors++Permission to use, copy, modify, and/or distribute this software for any purpose+with or without fee is hereby granted, provided that the above copyright notice+and this permission notice appear in all copies.++THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS+OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF+THIS SOFTWARE.nvim/pack/plugins/opt/parinfer-rust/Makefile view file
@@ -0,0 +1,9 @@+.PHONY: install+install:+ cargo build --release+ cargo install --force+ mkdir -p ~/.config/kak/autoload/+ for file in "$$(pwd)"/rc/*.kak; do \+ ln -sf "$${file}" ~/.config/kak/autoload/; \+ done+nvim/pack/plugins/opt/parinfer-rust/README.adoc view file
@@ -0,0 +1,236 @@+= parinfer-rust++Infer parentheses for Clojure, Lisp and Scheme.++https://github.com/eraserhd/parinfer-rust++A full-featured, super fast implementation of https://shaunlebron.github.io/parinfer/[Shaun Lebron’s parinfer].+This repo has Vim, Neovim, and Kakoune plugins, and an https://github.com/justinbarclay/parinfer-rust-mode[Emacs plugin] is available.+The Rust library can be called from other editors that can load dynamic libraries.++This plugin, unlike others available for Vim, implements "smart" mode.+Rather than switching between "paren" mode and "indent" mode, parinfer uses information about how the user is changing the file to decide what to do.++== Installing++Dependencies:++* https://www.rust-lang.org/en-US/install.html[rust] >= ~1.83 ?+* `clang` and `libclang-dev` packages or equivalent for your OS+++=== Stand-alone CLI++If you just want to run `parinfer-rust` from the command-line:++....+$ cargo build --release+$ cargo install+....++If you use emacs add the corresponding feature flag during compilation+....+$ cargo build --release --features emacs+....++=== Vim and Neovim++==== `+pathogen+`++If you are using Tim Pope’s `+pathogen+`:++....+$ cd ~/.vim/bundle+$ git clone git@github.com:eraserhd/parinfer-rust.git+$ cd ~/.vim/bundle/parinfer-rust+$ cargo build --release+....++==== `+vim-plug+`++[source,viml]+----+Plug 'eraserhd/parinfer-rust'+----++Then, build project using cargo:++....+$ cd /path/to/parinfer-rust+$ cargo build --release+....++Or, with optional automatic recompilation on update:++[source,viml]+----+Plug 'eraserhd/parinfer-rust', {'do':+ \ 'cargo build --release'}+----++If you are a NixOS user using Plug, you can use this command instead:+[source,viml]+----+Plug 'eraserhd/parinfer-rust', {'do':+ \ 'nix-shell --run \"cargo build --release \"'}+----++==== `+lazy.nvim+`++Add this to your `+init.lua+`:++[source,viml]+----+require("lazy").setup({+ {"eraserhd/parinfer-rust", build = "cargo build --release"}+})+----++==== `+Nix+`++If you are a Nix user using Nix + Home Manager to build your vim plugins, you can add:++[source,nix]+----+programs.neovim = {+ [ pkgs.vimPlugins.parinfer-rust ];+}+----+nvim/pack/plugins/opt/parinfer-rust/Web.toml view file
@@ -0,0 +1,2 @@+default-target = "wasm32-unknown-unknown"+prepend-js = ["src/webcore/runtime.js", "src/webcore/runtime_wasm.js"]nvim/pack/plugins/opt/parinfer-rust/benches/perf.rs view file
@@ -0,0 +1,129 @@+#![feature(test)]++extern crate parinfer_rust;+extern crate test;++#[macro_use]+extern crate serde_json;++use std::ffi::CString;+use test::Bencher;++const LONG_MAP_WITH_STRINGS: &str = include_str!("perf/long_map_with_strings");+const REALLY_LONG_FILE: &str = include_str!("perf/really_long_file");+const REALLY_LONG_FILE_WITH_UNCLOSED_PAREN: &str =+ include_str!("perf/really_long_file_with_unclosed_paren");+const REALLY_LONG_FILE_WITH_UNCLOSED_QUOTE: &str =+ include_str!("perf/really_long_file_with_unclosed_quote");++fn build_case(mode: &str, text: &str) -> CString {+ CString::new(+ json!({+ "mode": mode,+ "text": text,+ "options": {+ "forceBalance": false,+ "partialResult": false,+ "returnParens": false+ }+ })+ .to_string(),+ )+ .unwrap()+}++#[bench]+fn bench_paren_long_map_with_strings(b: &mut Bencher) {+ unsafe {+ let options = build_case("paren", LONG_MAP_WITH_STRINGS);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]+fn bench_indent_long_map_with_strings(b: &mut Bencher) {+ unsafe {+ let options = build_case("indent", LONG_MAP_WITH_STRINGS);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]+fn bench_smart_long_map_with_strings(b: &mut Bencher) {+ unsafe {+ let options = build_case("smart", LONG_MAP_WITH_STRINGS);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]+fn bench_paren_really_long_file(b: &mut Bencher) {+ unsafe {+ let options = build_case("paren", REALLY_LONG_FILE);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]+fn bench_indent_really_long_file(b: &mut Bencher) {+ unsafe {+ let options = build_case("indent", REALLY_LONG_FILE);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]+fn bench_smart_really_long_file(b: &mut Bencher) {+ unsafe {+ let options = build_case("smart", REALLY_LONG_FILE);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]+fn bench_paren_really_long_file_with_unclosed_paren(b: &mut Bencher) {+ unsafe {+ let options = build_case("paren", REALLY_LONG_FILE_WITH_UNCLOSED_PAREN);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]+fn bench_indent_really_long_file_with_unclosed_paren(b: &mut Bencher) {+ unsafe {+ let options = build_case("indent", REALLY_LONG_FILE_WITH_UNCLOSED_PAREN);+ b.iter(|| parinfer_rust::run_parinfer(options.as_ptr()));+ }+}++#[bench]nvim/pack/plugins/opt/parinfer-rust/benches/perf/long_map_with_strings view file
@@ -0,0 +1,302 @@+[{:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"+ :key2 "bar"}+ {:key1 "foo"nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file view file
@@ -0,0 +1,2864 @@+;; Parinfer NOTE: this is just a large file taken from ClojureScript+;; which we use to test the speed of Parinfer.++; Copyright (c) Rich Hickey. All rights reserved.+; The use and distribution terms for this software are covered by the+; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)+; which can be found in the file epl-v10.html at the root of this distribution.+; By using this software in any fashion, you are agreeing to be bound by+; the terms of this license.+; You must not remove this notice, or any other, from this software.++(ns cljs.analyzer+ #?(:clj (:refer-clojure :exclude [macroexpand-1 ensure])+ :cljs (:refer-clojure :exclude [macroexpand-1 ns-interns ensure js-reserved]))+ #?(:cljs (:require-macros+ [cljs.analyzer.macros+ :refer [no-warn wrapping-errors+ disallowing-recur allowing-redef]]+ [cljs.env.macros :refer [ensure]]))+ #?(:clj (:require [cljs.util :as util :refer [ns->relpath topo-sort]]+ [clojure.java.io :as io]+ [clojure.string :as string]+ [clojure.set :as set]+ [cljs.env :as env :refer [ensure]]+ [cljs.js-deps :as deps]+ [cljs.tagged-literals :as tags]+ [clojure.tools.reader :as reader]+ [clojure.tools.reader.reader-types :as readers]+ [clojure.edn :as edn])+ :cljs (:require [goog.string :as gstring]+ [clojure.string :as string]+ [clojure.set :as set]+ [cljs.env :as env]+ [cljs.tagged-literals :as tags]+ [cljs.tools.reader :as reader]+ [cljs.tools.reader.reader-types :as readers]+ [cljs.reader :as edn]))+ #?(:clj (:import [java.io File Reader PushbackReader]+ [java.net URL]+ [clojure.lang Namespace Var LazySeq]+ [cljs.tagged_literals JSValue])))++#?(:clj (set! *warn-on-reflection* true))++(def ^:dynamic *cljs-ns* 'cljs.user)+(def ^:dynamic *cljs-file* nil)+#?(:clj (def ^:dynamic *unchecked-if* (atom false)))+(def ^:dynamic *cljs-static-fns* false)+(def ^:dynamic *cljs-macros-path* "/cljs/core")+(def ^:dynamic *cljs-macros-is-classpath* true)+(def ^:dynamic *cljs-dep-set* (with-meta #{} {:dep-path []}))+(def ^:dynamic *analyze-deps* true)+(def ^:dynamic *load-tests* true)+(def ^:dynamic *load-macros* true)+(def ^:dynamic *reload-macros* false)+(def ^:dynamic *macro-infer* true)++(def ^:dynamic *file-defs* nil)++;; log compiler activities+(def ^:dynamic *verbose* false)++(def -cljs-macros-loaded (atom false))++(def ^:dynamic *cljs-warnings*+ {:preamble-missing true+ :unprovided true+ :undeclared-var true+ :undeclared-ns true+ :undeclared-ns-form true+ :redef true+ :redef-in-file true+ :dynamic true+ :fn-var true+ :fn-arity true+ :fn-deprecated true+ :protocol-deprecated true+ :undeclared-protocol-symbol true+ :invalid-protocol-symbol true+ :multiple-variadic-overloads true+ :variadic-max-arity true+ :overload-arity true+ :extending-base-js-type true+ :invoke-ctor true+ :invalid-arithmetic true+ :protocol-invalid-method true+ :protocol-duped-method true+ :protocol-multiple-impls true+ :protocol-with-variadic-method true+ :single-segment-namespace true+ :munged-namespace true+ :ns-var-clash true+ :extend-type-invalid-method-shape true+ :unsupported-js-module-type true+ :unsupported-preprocess-value true})++(def js-reserved+ #{"arguments" "abstract" "boolean" "break" "byte" "case"+ "catch" "char" "class" "const" "continue"nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file_with_unclosed_paren view file
@@ -0,0 +1,2864 @@+;; Parinfer NOTE: this is just a large file taken from ClojureScript+;; which we use to test the speed of Parinfer.++; Copyright (c) Rich Hickey. All rights reserved.+; The use and distribution terms for this software are covered by the+; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)+; which can be found in the file epl-v10.html at the root of this distribution.+; By using this software in any fashion, you are agreeing to be bound by+; the terms of this license.+; You must not remove this notice, or any other, from this software.++(ns cljs.analyzer+ #?(:clj (:refer-clojure :exclude [macroexpand-1 ensure])+ :cljs (:refer-clojure :exclude [macroexpand-1 ns-interns ensure js-reserved]))+ #?(:cljs (:require-macros+ [cljs.analyzer.macros+ :refer [no-warn wrapping-errors+ disallowing-recur allowing-redef]]+ [cljs.env.macros :refer [ensure]]))+ #?(:clj (:require [cljs.util :as util :refer [ns->relpath topo-sort]]+ [clojure.java.io :as io]+ [clojure.string :as string]+ [clojure.set :as set]+ [cljs.env :as env :refer [ensure]]+ [cljs.js-deps :as deps]+ [cljs.tagged-literals :as tags]+ [clojure.tools.reader :as reader]+ [clojure.tools.reader.reader-types :as readers]+ [clojure.edn :as edn])+ :cljs (:require [goog.string :as gstring]+ [clojure.string :as string]+ [clojure.set :as set]+ [cljs.env :as env]+ [cljs.tagged-literals :as tags]+ [cljs.tools.reader :as reader]+ [cljs.tools.reader.reader-types :as readers]+ [cljs.reader :as edn]))+ #?(:clj (:import [java.io File Reader PushbackReader]+ [java.net URL]+ [clojure.lang Namespace Var LazySeq]+ [cljs.tagged_literals JSValue])))++#?(:clj (set! *warn-on-reflection* true))++(def ^:dynamic *cljs-ns* 'cljs.user)+(def ^:dynamic *cljs-file* nil)+#?(:clj (def ^:dynamic *unchecked-if* (atom false)))+(def ^:dynamic *cljs-static-fns* false)+(def ^:dynamic *cljs-macros-path* "/cljs/core")+(def ^:dynamic *cljs-macros-is-classpath* true)+(def ^:dynamic *cljs-dep-set* (with-meta #{} {:dep-path []}))+(def ^:dynamic *analyze-deps* true)+(def ^:dynamic *load-tests* true)+(def ^:dynamic *load-macros* true)+(def ^:dynamic *reload-macros* false)+(def ^:dynamic *macro-infer* true)++(def ^:dynamic *file-defs* nil)++;; log compiler activities+(def ^:dynamic *verbose* false)++(def -cljs-macros-loaded (atom false))++(def ^:dynamic *cljs-warnings*+ {:preamble-missing true+ :unprovided true+ :undeclared-var true+ :undeclared-ns true+ :undeclared-ns-form true+ :redef true+ :redef-in-file true+ :dynamic true+ :fn-var true+ :fn-arity true+ :fn-deprecated true+ :protocol-deprecated true+ :undeclared-protocol-symbol true+ :invalid-protocol-symbol true+ :multiple-variadic-overloads true+ :variadic-max-arity true+ :overload-arity true+ :extending-base-js-type true+ :invoke-ctor true+ :invalid-arithmetic true+ :protocol-invalid-method true+ :protocol-duped-method true+ :protocol-multiple-impls true+ :protocol-with-variadic-method true+ :single-segment-namespace true+ :munged-namespace true+ :ns-var-clash true+ :extend-type-invalid-method-shape true+ :unsupported-js-module-type true+ :unsupported-preprocess-value true})++(def js-reserved+ #{"arguments" "abstract" "boolean" "break" "byte" "case"+ "catch" "char" "class" "const" "continue"nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file_with_unclosed_quote view file
@@ -0,0 +1,2864 @@+;; Parinfer NOTE: this is just a large file taken from ClojureScript+;; which we use to test the speed of Parinfer.++; Copyright (c) Rich Hickey. All rights reserved.+; The use and distribution terms for this software are covered by the+; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)+; which can be found in the file epl-v10.html at the root of this distribution.+; By using this software in any fashion, you are agreeing to be bound by+; the terms of this license.+; You must not remove this notice, or any other, from this software.++(ns cljs.analyzer+ #?(:clj (:refer-clojure :exclude [macroexpand-1 ensure])+ :cljs (:refer-clojure :exclude [macroexpand-1 ns-interns ensure js-reserved]))+ #?(:cljs (:require-macros+ [cljs.analyzer.macros+ :refer [no-warn wrapping-errors+ disallowing-recur allowing-redef]]+ [cljs.env.macros :refer [ensure]]))+ #?(:clj (:require [cljs.util :as util :refer [ns->relpath topo-sort]]+ [clojure.java.io :as io]+ [clojure.string :as string]+ [clojure.set :as set]+ [cljs.env :as env :refer [ensure]]+ [cljs.js-deps :as deps]+ [cljs.tagged-literals :as tags]+ [clojure.tools.reader :as reader]+ [clojure.tools.reader.reader-types :as readers]+ [clojure.edn :as edn])+ :cljs (:require [goog.string :as gstring]+ [clojure.string :as string]+ [clojure.set :as set]+ [cljs.env :as env]+ [cljs.tagged-literals :as tags]+ [cljs.tools.reader :as reader]+ [cljs.tools.reader.reader-types :as readers]+ [cljs.reader :as edn]))+ #?(:clj (:import [java.io File Reader PushbackReader]+ [java.net URL]+ [clojure.lang Namespace Var LazySeq]+ [cljs.tagged_literals JSValue])))++#?(:clj (set! *warn-on-reflection* true))++(def ^:dynamic *cljs-ns* 'cljs.user)+(def ^:dynamic *cljs-file* nil)+#?(:clj (def ^:dynamic *unchecked-if* (atom false)))+(def ^:dynamic *cljs-static-fns* false)+(def ^:dynamic *cljs-macros-path* "/cljs/core")+(def ^:dynamic *cljs-macros-is-classpath* true)+(def ^:dynamic *cljs-dep-set* (with-meta #{} {:dep-path []}))+(def ^:dynamic *analyze-deps* true)+(def ^:dynamic *load-tests* true)+(def ^:dynamic *load-macros* true)+(def ^:dynamic *reload-macros* false)+(def ^:dynamic *macro-infer* true)++(def ^:dynamic *file-defs* nil)++;; log compiler activities+(def ^:dynamic *verbose* false)++(def -cljs-macros-loaded (atom false))++(def ^:dynamic *cljs-warnings*+ {:preamble-missing true+ :unprovided true+ :undeclared-var true+ :undeclared-ns true+ :undeclared-ns-form true+ :redef true+ :redef-in-file true+ :dynamic true+ :fn-var true+ :fn-arity true+ :fn-deprecated true+ :protocol-deprecated true+ :undeclared-protocol-symbol true+ :invalid-protocol-symbol true+ :multiple-variadic-overloads true+ :variadic-max-arity true+ :overload-arity true+ :extending-base-js-type true+ :invoke-ctor true+ :invalid-arithmetic true+ :protocol-invalid-method true+ :protocol-duped-method true+ :protocol-multiple-impls true+ :protocol-with-variadic-method true+ :single-segment-namespace true+ :munged-namespace true+ :ns-var-clash true+ :extend-type-invalid-method-shape true+ :unsupported-js-module-type true+ :unsupported-preprocess-value true})++(def js-reserved+ #{"arguments" "abstract" "boolean" "break" "byte" "case"+ "catch" "char" "class" "const" "continue"nvim/pack/plugins/opt/parinfer-rust/derivation.nix view file
@@ -0,0 +1,38 @@+{ lib, stdenv, libiconv, rustPlatform, fetchFromGitHub, llvmPackages }:++rustPlatform.buildRustPackage rec {+ name = "parinfer-rust-${version}";+ version = "0.5.0";++ src = ./.;+ cargoLock = {+ lockFile = ./Cargo.lock;+ };++ nativeBuildInputs = [+ llvmPackages.libclang+ llvmPackages.clang+ libiconvnvim/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/static/index.html 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