rafaeldelboni / cajus-nvim Goto Github PK
View Code? Open in Web Editor NEWBasic config to transform your NVIM in a powerful Clojure IDE using fennel, clojure-lsp and conjure.
License: The Unlicense
Basic config to transform your NVIM in a powerful Clojure IDE using fennel, clojure-lsp and conjure.
License: The Unlicense
Would it be possible to add documentation on how to use snippets with the configuration?
Specifically I would like to add personal snippets that support markdown content and mkdocs extensions.
I would also like to evaluate community snippets such as rafamadriz/friendly-snippets but it is unclear how these can be added. Simply adding friendly snippets as a plugin in plugin.fnl does not include these snippets.
I have tried adding a snippets
directory in the .config/nvim/
directory and copied markdown snippets from vim-snippets which seem to appear in the TAB
completion list, although they do not expand.
In fnl/config/plugion/cmp.fnl
several sources for autocompletion are defined, although it is unclear what these source specifically refer to for buffer
, vsnip
and luasnip
(def- cmp-src-menu-items
{:buffer "buff"
:conjure "conj"
:nvim_lsp "lsp"
:vsnip "vsnp"
:luasnip "lsnp"})
In Luasnip it discusses loaders, so curious to understand if these loaders are used or relevant to the fennel configuration
What are the supported approaches for snippets in the current configuration, or how could it be extended to support custom snippets?
Thank you
With your permission I'd like to use this configuration as the basis for the Neovim setup in the online book Practicalli Neovim. The book is still in very early stages, but would cover the Neovim setup in detail (base on your config with some other additions - which I can contribute back as PRs if desirable).
There is also a rough section on using Neovim on an ultra-portable development environment (android smart phone with termux and Keyboard.io Atreus mechanical keyboard)
The book would also go into detail on using Neovim in general and for specific development tasks, mostly focused on Clojure.
I'd also like to add more plugins, such as which-key and a magit-like git client, as well as convienient key bindings to provide a similar level of features covered in the Practicalli Spacemacs book.
I would naturally give full credit to all the work you have done and add any links you wish, such as a GitHub sponsors link.
All Practicalli on-line books are non-commercial and available under a creative commons license.
Please let me know if you have any concerns.
Although I get completion menus when I type in neovim, I am unable to select (using TAB or arrow keys) from the completion menu.
When I type a snippet (i.e. comment-header
from Clojure LSP snippets) out in full and use TAB
to expand the snippet, then I get the following error (shown by calling :mes
)
E5108: Error executing lua ...te/pack/packer/start/nvim-cmp/lua/cmp/config/default.lua:23: snippet engine is not configured.
stack traceback:
[C]: in function 'error'
...te/pack/packer/start/nvim-cmp/lua/cmp/config/default.lua:23: in function 'expand'
...re/nvim/site/pack/packer/start/nvim-cmp/lua/cmp/core.lua:450: in function <...re/nvim/site/pack/packer/start/nvim-cmp/lua/cmp/core.lua:411>
...te/pack/packer/start/nvim-cmp/lua/cmp/utils/feedkeys.lua:47: in function <...te/pack/packer/start/nvim-cmp/lua/cmp/utils/feedkeys.lua:45>
The completions popup no longer shows with any suggestions after this error.
I get the same results on recent MacOSX version and Ubnutu Linux, using Neovim 7 and installed this configuration about a week ago (I'll try and update next).
I will try and recreate this issue with a simple Clojure project that I can share, although I dont recall the snippets ever working.
Thank you.
Which of the following plugins would be of used to contribute as pull requests to this configuration
I have been using these for a few days in my experimental configuration and they seem to work. There are some other plugins that are interesting, but still evaluating those.
First of all, thanks a lot for the repo! Made it very easy for me to switch from CoC to native LSP. Also editing $MYVIMRC is pretty fun when you can evaluate it straight away without any binds to source the file etc.
I wanted to ask a couple of questions which I was unable to figure out on my own:
With my old setup, I could write a list of strings like this:
[
-> nvim completes it to [|]
and inserts the cursor between the brackets"
to start writing a string out, nvim again completes it to ["|"]
and I can begin typing a string["hello|"]
, and I want to insert another string, I could type a "
again, and the result would be like this: ["hello" "|"]
The process works just the same until this point: ["hello|"]
. Typing another starting quote will end up like this ["hello "|" "]
, which breaks the existing string and is a bit annoying to fix. I have no idea if it's possible to change this behavior to match what it was before , it's just something I noticed after a bit.
Also, I was unable to scroll the documentation popup, which appears by pressing K
or <Leader>K
. If I understood correctly, in the cmp config it seems like Ctrl+d
and Ctrl+f
are used for scrolling the documentation window. I'm not sure if it's due to my environment (using Windows Terminal with Ubuntu 20.04), or some existing keybind which prevents them from working or what. For example, pressing Ctrl+d
after opening the doc popup, my cursor will just go down half a screen, which I think is its default behavior.
Anyways, maybe you happen to know some fixes off the top of your head or not, but these were some things I found which bothered me and decided to ask 😄
When we jump to a definition, it jumps in the same buffer. Is there a way to jump to a definition in a new tab and also to go back from where we came from when jumping in the same tab?
When doing :PackerInstall, all the packages are installed, except for this one:
✗ Failed to install nvim-telescope/telescope.nvim
I noticed that lsp works only when I open vim from terminal from the root of the project.
For example, this works:
╭─m1@air in ~
╰$ cd IdeaProjects/clojure/play
╭─m1@air in ~/IdeaProjects/clojure/play
╰$ vim src/dumch/play.clj
And this doesn't:
╭─m1@air in ~
╰$ vim IdeaProjects/clojure/play/src/dumch/play.clj
and running this in vim :cd IdeaProjects/clojure/play
: lua print(vim.inspect(vim.lsp.buf_get_clients()))
returns {}
I'm using neovim with clojure lsp for clojure development. My neovim config are exactly same as this repo.
The autosuggesting is working fine with this configuration. But when I like to navigate to function/namespace definitions, it is not working.
For example, I've local repository which it in github here. Let's say I'm working on the file src/clj/guestbook/routes/home.clj. I'm trying to click and navigate to save-message!
in line 39. But command + click or ctrl + click is not working. The link is here.
Similarly when I try to navigate the namespaces, command + click is enabled as in the image.
But when I click the namespace, it open the browser with link guestbook.middleware as in the image.
I've asked the same question in the stackoverflow as well
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.