9e15467

Branches > main > 9e15467 > files / nvim / pack / plugins / opt / conjure / doc / conjure-client-guile-socket.txt

nvim

Grahp, 2026-03-01

Commit: 9e15467e571dab825395d040642cc4464782c084
Parent: 8646c2c

72 changed files:

nvim/init.lua modified (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 modified (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 added (view file)

@@ -0,0 +1,6 @@+vim.api.nvim_create_autocmd("FileType", {+  pattern = "clojure",+  callback = function()+    require("plugins.conjure")+  end,+})

nvim/lua/jump.lua modified (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, col

nvim/lua/keybindings.lua modified (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 added (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"] = false

nvim/lua/smart_n.lua modified (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 added (view file)

@@ -0,0 +1 @@+use flake

nvim/pack/plugins/opt/parinfer-rust/.gitignore added (view file)

@@ -0,0 +1,7 @@+/bin/+/target/+/node_modules/+**/*.rs.bk+/result+/result-*+/.direnv

nvim/pack/plugins/opt/parinfer-rust/.nvmrc added (view file)

@@ -0,0 +1 @@+v8.10.0

nvim/pack/plugins/opt/parinfer-rust/CHANGELOG.adoc added (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 Mac++=== Emacs++* Added support for Emacs!!!++=== Kakoune++* Restore module support since packaged versions of Kakoune now have it.+* Fix filetype detection for removing parinfer hooks++https://github.com/eraserhd/parinfer-rust/compare/v0.3.0...v0.3.1[v0.3.1]+-------------------------------------------------------------------------++=== Changed++* Kakoune script can't use modules yet.  (Packaged versions of Kakoune do+  not support them yet.)++https://github.com/eraserhd/parinfer-rust/compare/v0.2.0...v0.3.0[v0.3.0]+-------------------------------------------------------------------------++=== Changed++* Kakoune script now uses modules.+* Published to NPM, usable from JavaScript that supports WebAssembly with a+  wrapper that works like the original JavaScript parinfer.+* Result from C wrapper is now in thread-local storage, allowing concurrent+  use from different threads.+* Files have been reorganized so that `cargo build --release` is now run+  at the top-level instead of in the `cparinfer` sub-directory.+* Tests now run on Linux, CircleCI now runs our tests.++https://github.com/eraserhd/parinfer-rust/compare/v0.1.0...v0.2.0[v0.2.0]+-------------------------------------------------------------------------++=== Fixed++* `>>` reindents the rest of the form+* `E121: Undefined variable: w:parinfer_previous_cursor` after `:split`+* `E122` after `:PlugUpdate` (#18)+* `E523: not allowed here`+* `vim-fireplace` compatibility:+  * Fixed error after selecting expression with `cqq` (#15)++=== Changed++* Honors `g:parinfer_enabled` (instead of `g:parinfer_mode` of "off")+* Is disabled during `:set paste`++=== Added++* `:ParinferOn` command+* A logging facility and the `:ParinferLog` command+* `g:parinfer_force_balance` option (defaults to off)++=== Removed+- `:ParinferToggleMode` (use `g:parinfer_mode` instead)++0.1.0+-----++=== Vim Plugin++==== Fixed++* `c` commands do not smart-dedent trailing lines

nvim/pack/plugins/opt/parinfer-rust/Cargo.lock added (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"

Show all 477 lines

nvim/pack/plugins/opt/parinfer-rust/Cargo.toml added (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 added (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 added (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 added (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 ];+}+----+

Show all 237 lines

nvim/pack/plugins/opt/parinfer-rust/Web.toml added (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 added (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]

Show all 130 lines

nvim/pack/plugins/opt/parinfer-rust/benches/perf/long_map_with_strings added (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"

Show all 303 lines

nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file added (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"

Show all 2865 lines

nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file_with_unclosed_paren added (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"

Show all 2865 lines

nvim/pack/plugins/opt/parinfer-rust/benches/perf/really_long_file_with_unclosed_quote added (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"

Show all 2865 lines

nvim/pack/plugins/opt/parinfer-rust/derivation.nix added (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+    libiconv

Show all 39 lines

nvim/pack/plugins/opt/parinfer-rust/dist/parinfer_rust.js added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/dist/parinfer_rust.wasm added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/dist/wrapper.js added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/doc/parinfer.txt added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/extra-docs/MacOS-Code-Signing.adoc added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/flake.lock added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/flake.nix added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/package.json added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/plugin/parinfer.vim added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/rc/parinfer.kak added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/script/release added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/c_wrapper.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/changes.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/cli_options.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/common_wrapper.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/emacs_wrapper.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/kakoune.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/lib.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/main.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/parinfer.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/types.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/wasm_wrapper.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/webcore/runtime.js added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/src/webcore/runtime_wasm.js added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/static/index.html added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/cases.rs added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/cases/indent-mode.json added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/cases/paren-mode.json added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/cases/smart-mode.json added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/insert/cmd added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/insert/in added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/insert/out added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/janet/cmd added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/janet/in added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/janet/out added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/cmd added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/in added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/out added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/open-bracket/selections added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/picolisp/cmd added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/picolisp/in added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/picolisp/out added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/run.sh added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/select-word/cmd added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/select-word/in added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/kakoune/select-word/selections added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/vim/run.vim added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/vim/tests-cases.md added (view file)

Show diff

nvim/pack/plugins/opt/parinfer-rust/tests/vim/vimrc added (view file)

Show diff