{"id":19238254,"url":"https://github.com/olical/nvim-local-fennel","last_synced_at":"2025-04-21T06:31:52.351Z","repository":{"id":56178099,"uuid":"225020876","full_name":"Olical/nvim-local-fennel","owner":"Olical","description":"Execute local Fennel Lisp files in Neovim upon startup","archived":false,"fork":false,"pushed_at":"2023-07-10T12:43:28.000Z","size":305,"stargazers_count":54,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T10:42:27.698Z","etag":null,"topics":["fennel","lisp","lua","neovim"],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Olical.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"Olical","ko_fi":"olical"}},"created_at":"2019-11-30T14:01:45.000Z","updated_at":"2024-07-01T08:18:11.000Z","dependencies_parsed_at":"2024-11-09T16:32:03.535Z","dependency_job_id":"117c9537-b367-42d1-b1ec-4f6636d25ae8","html_url":"https://github.com/Olical/nvim-local-fennel","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Olical%2Fnvim-local-fennel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Olical%2Fnvim-local-fennel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Olical%2Fnvim-local-fennel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Olical%2Fnvim-local-fennel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Olical","download_url":"https://codeload.github.com/Olical/nvim-local-fennel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250008215,"owners_count":21359949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fennel","lisp","lua","neovim"],"created_at":"2024-11-09T16:30:01.065Z","updated_at":"2025-04-21T06:31:52.078Z","avatar_url":"https://github.com/Olical.png","language":"Lua","funding_links":["https://github.com/sponsors/Olical","https://ko-fi.com/olical"],"categories":[],"sub_categories":[],"readme":"= nvim-local-fennel\n\n____\nThis has been superseded! I now recommend installing https://github.com/Olical/nfnl[Olical/nfnl] and enabling the `exrc` option in order to have https://github.com/Olical/nfnl#directory-local-neovim-configuration-in-fennel[directory local Neovim configuration in Fennel].\n\nOnce you have nfnl and a `.nfnl.fnl` file at the root of your project you can write to `.nvim.fnl` and have `.nvim.lua` compiled for you automatically. This file is loaded by native Neovim with zero plugins provided you have `:set exrc` enabled.\n\nThis means even colleagues that don't have nfnl installed can use your directory local configuration. Consider this repo as essentially archived and superseded by this much smoother approach.\n____\n\nRun https://github.com/bakpakin/Fennel[Fennel] inside Neovim on startup with https://github.com/Olical/aniseed[Aniseed].\n\nAdd some Fennel code such as `(print \"Hello, World!\")` to a file named `.lnvim.fnl` in your current directory or anywhere above it such as your home directory. A file will be created beside the `.fnl` called `.lnvim.lua` which will be executed upon startup. Files higher up in your directory hierarchy, such as the home directory, will be executed before those found lower down, such as in a project.\n\nBe sure to git ignore `.lnvim.fnl` _and_ `.lnvim.lua` if you don't want to share your local configuration with others. If you do want to share a `.lnvim.fnl` I'd recommend you ignore the `.lua` file to prevent duplicated changes in git commits.\n\nAniseed will only re-compile the Fennel code if it's changed since last time you opened Neovim. If you delete the `.lnvim.fnl` file then the `.lnvim.lua` file will be deleted automatically next time you launch Neovim to ensure you don't accidentally leave Lua files laying around.\n\n== Installation\n\nIf you want interactive evaluation of the forms in your `.lnvim.fnl` file you can install https://github.com/Olical/conjure[Conjure] too.\n\n=== https://github.com/wbthomason/packer.nvim[packer.nvim]\n\n[source,lua]\n----\nuse 'Olical/nvim-local-fennel'\nuse 'Olical/aniseed'\n----\n\n=== https://github.com/junegunn/vim-plug[vim-plug]\n\n[source,viml]\n----\nPlug 'Olical/nvim-local-fennel'\nPlug 'Olical/aniseed'\n----\n\n== Access to Aniseed\n\nAniseed is embedded under the `nvim-local-fennel.aniseed.*` module prefix, this means you can use Aniseed's macros and functions in your `.lnvim.fnl` files!\n\n[source,clojure]\n----\n;; .lnvim.fnl\n;; You can give the module any name you want.\n(module my-local-fennel\n  {autoload {a nvim-local-fennel.aniseed.core\n             str nvim-local-fennel.aniseed.string\n             nvim nvim-local-fennel.aniseed.nvim}})\n\n;; A hyphen suffix denotes a private function.\n(defn- do-some-things [numbers]\n  (a.println\n    (nvim.fn.getcwd)\n    (a.map a.inc numbers)\n    {:Hello :Fennel!}))\n\n;; Public value.\n;; You could require this module and access it.\n(def counting [1 2 3])\n\n;; Executed as the file is loaded.\n(do-some-things counting)\n----\n\n== Unlicenced\n\nFind the full http://unlicense.org/[unlicense] in the `UNLICENSE` file, but here's a snippet.\n\n____\nThis is free and unencumbered software released into the public domain.\n\nAnyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.\n____\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folical%2Fnvim-local-fennel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folical%2Fnvim-local-fennel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folical%2Fnvim-local-fennel/lists"}