conjure-client-fennel-aniseed.txt
Branches > main > f1a81c2 > files / nvim / pack / plugins / opt / conjure / doc / conjure-client-fennel-aniseed.txt
*conjure-client-fennel-aniseed*==============================================================================CONTENTS *conjure-client-fennel-aniseed-contents* 1. Introduction ....... |conjure-client-fennel-aniseed-introduction| 2. Mappings ............... |conjure-client-fennel-aniseed-mappings| 3. Configuration ..... |conjure-client-fennel-aniseed-configuration|==============================================================================INTRODUCTION *conjure-client-fennel-aniseed-introduction*Conjure is written in Fennel, a Lisp that compiles to Lua. It relies onAniseed to provide a module syntax akin to Clojure and interactive evaluationwithin Neovim's own process (since it contains LuaJIT).You can use Conjure to evaluate Fennel as soon as you have support for thesyntax (`Olical/aniseed`). Open up a `.fnl` file and start evaluatingthings with the generic |conjure-mappings|.You don't need to have Aniseed installed, Conjure will rely on it's owninternal copy by default (`conjure.aniseed.*`), you can use your globallyinstalled Aniseed version by setting the following:> " Replaces the default "conjure.aniseed." value. :let g:conjure#client#fennel#aniseed#aniseed_module_prefix = "aniseed."< * https://github.com/bakpakin/Fennel * https://github.com/Olical/aniseed * https://github.com/Olical/nvim-local-fennelConjure's Fennel support relies on Aniseed's module macro system, so you can'trely on the vanilla way of defining functions in Fennel. Without this,interactive evaluation like Clojure's wouldn't be possible.Instead of using `(local foo :bar)` you should use `(def foo :bar)`, andinstead of exporting a table at the bottom of the file as you would with Luayou should define your module at the top of the file. Here's an example of thesyntax Aniseed introduces.> ;; fnl/my/fennel/module.fnl (module my.fennel.module {require {a aniseed.core}}) (def- prefix "Hello:") (defn say-hi [msg] (a.println prefix msg))`def` with an optional trailing `-` for privacy replaces `local` and `defn`(again with an optional trailing `-`) replaces `fn`. The module will beautomatically exported for you and can be accessed by any other Lua modulewithin Neovim.You can look into Aniseed for more information on how to compile your Fennelto Lua ahead of time, Conjure is about evaluating things at run time, notcompiling for distribution.==============================================================================MAPPINGS *conjure-client-fennel-aniseed-mappings*These mappings are the defaults, you can change them as described in|conjure-mappings| and |conjure-configuration|.See |conjure-client-fennel-aniseed-configuration| for specific configurationoptions relevant to these mappings.<localleader>tt Run all tests within your current module.<localleader>ta Run all loaded tests.==============================================================================CONFIGURATION *conjure-client-fennel-aniseed-configuration*All configuration can be set as described in |conjure-configuration|. *g:conjure#client#fennel#aniseed#aniseed_module_prefix*`g:conjure#client#fennel#aniseed#aniseed_module_prefix` Prefix to put in front of all Aniseed modules Conjure relies on. This is set to use Conjure's internal copy of Aniseed by default but you can set it to `"aniseed."` to use your globally installed copy or even your own plugin specific prefix if you've embedded it within your project. Default: `"conjure.aniseed."` *g:conjure#client#fennel#aniseed#use_metadata*`g:conjure#client#fennel#aniseed#use_metadata` Enables metadata during evaluation which can provide some documentation lookup with Conjure's documentation mapping. Will incur a slight performance cost, but that's okay since Conjure is intended to be used during development. Default: `true` *g:conjure#client#fennel#aniseed#mapping#run_buf_tests*`g:conjure#client#fennel#aniseed#mapping#run_buf_tests` Run all tests within your current module. Default: `"tt"` *g:conjure#client#fennel#aniseed#mapping#run_all_tests*`g:conjure#client#fennel#aniseed#mapping#run_all_tests` Run all loaded tests. Default: `"ta"` *g:conjure#client#fennel#aniseed#mapping#reset_repl*`g:conjure#client#fennel#aniseed#mapping#reset_repl` Reset the REPL for your current buffer. Use this if you need to clear the local state in your REPL or you've somehow evaluated unbalanced parenthesis. Default: `"rr"` *g:conjure#client#fennel#aniseed#mapping#reset_all_repls*`g:conjure#client#fennel#aniseed#mapping#reset_all_repls` Reset all currently loaded REPLs. Use this if you've maybe messed up a few of your REPLs and you'd like to start fresh without restarting Neovim. Default: `"ra"`vim:tw=78:sw=2:ts=2:ft=help:norl:et:listchars=