cl-lsp
ctags
Our great sponsors
cl-lsp | ctags | |
---|---|---|
13 | 33 | |
200 | 6,292 | |
- | 1.9% | |
0.0 | 9.7 | |
about 1 year ago | 8 days ago | |
TypeScript | C | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cl-lsp
-
Show HN: Common Lisp Vim Compiler Plug-In
How this compares to using cl-lsp[1] with Neovim?
[1]: https://github.com/cxxxr/cl-lsp
-
Lisp language server
Does this count? https://github.com/cxxxr/cl-lsp
- Common Lisp language server?
- Emacs-like editors written in Common Lisp
- From Common Lisp to Julia
-
A Road to Common Lisp (2018)
It's a great article. Since then, we have more tools and resources so we can enhance it:
Pick and Editor
The article is right that you can start with anything. Just `load` your .lisp file in the REPL. But even in Vim, Sublime Text, and Atom [and also VSCode] you can get pretty good to very good support. See https://lispcookbook.github.io/cl-cookbook/editor-support.ht... (also Lem, a CL editor that works for other languages, Jupyter notebooks, Eclipse (basic support) and LispWorks (proprietary, advanced graphical tools).
> if anyone is interested in making a Common Lisp LSP language server, I think it would be a hugely useful contribution to the community.
Here's a new project used for VSCode: https://github.com/nobody-famous/alive-lsp There's also https://github.com/cxxxr/cl-lsp
Other resources
I already linked to it, but the Cookbook (to which I contribute) is a useful reference to see code and get things done, quickly. https://lispcookbook.github.io/cl-cookbook/
While I'm at it, my first shameless plug: after my tutorials written for the Cookbook and my blog, I wanted to do more. Explain, structure, demo real-world Common Lisp. I'm creating this course (there are some free videos): https://www.udemy.com/course/common-lisp-programming/?coupon... (ongoing -50% coupon for June).
Web Development
See the Cookbook, and the awesome list (see below). We have many libraries, you still have to code for things taken for granted in other big frameworks. I have some articles on my blog.
We have new very cool kids in town, especially CLOG, that is like a GUI for the browser. Check it out: https://github.com/rabbibotton/clog
Game Development
See again the awesome-cl list. And the Kandria game, in the making, all done in CL: https://kandria.com/ (it just got accepted for a Swiss grant, congratulations).
Unit Testing
We have even more test frameworks since 2018! And some are actually good O_o
Projects
To create a full-featured CL project in one command, look no further, here's my (shameless plug again) project skeleton: https://github.com/vindarel/cl-cookieproject you'll find the equivalent for a web project, lighter alternatives in the README, and a demo video: https://www.youtube.com/watch?v=XFc513MJjos&feature=youtu.be
Libraries
He doesn't mention this list, what a shame: https://github.com/CodyReichert/awesome-cl => the CL ecosystem is probably bigger than you thought. Sincerely, only recently, great packages appeared: CLOG, cl-gserver (actors concurrency), 40ants-doc, official CL support on OVH through Platform.sh, great editor add-ons (Slite test runner, Slime-star modules…), Coalton 1.0 (Haskell-like ML on top of CL), April v1.0 (APL in CL), a Qt 5 "library" (still hard to install), many more… (Clingon CLI args parser, Lish, a Lisp Shell in the making, the Consfigurator deployment service, generic-cl)…
His list is OK, I'd pick another HTTP client and another JSON library (new ones since 2018 too), but that's a detail.
BTW, see also a list of companies: https://github.com/azzamsa/awesome-lisp-companies/
Community
We are also on Discord: https://discord.gg/hhk46CE and on Libera Chat.
Implementations
CLASP (CL for C++ on LLVM) reached its v1.0, congrats. https://github.com/clasp-developers/clasp/releases/tag/1.0.0
-
is CLISP still recommended to use ?
If you’re already a vs-code user, then I get that. And the facilities do exist to do Common Lisp in vs-code: https://github.com/cxxxr/cl-lsp
-
Common lisp LSP. Why there is no such a thing?
Third hit on DuckDuckGo https://github.com/cxxxr/cl-lsp
-
Why there is no new "modern" (Common) Lisp IDE?
You mean like cl-lsp, or the Alive Visual Studio Code extension? These are admittedly works in progress, but I'm sure you'd be very welcome to contribute since you care so much about it!
-
Common Lisp Study Group : Introduction to ASDF
By the way, there is already https://github.com/cxxxr/cl-lsp that provides some LSP support for Common Lisp. I believe there is no need to support LSP from asdf side ... you just need to write a bridge for it. I know the author personally and since he surely does not use VS code himself, I don't know that was his motivation in making this one.
ctags
- If you owned a nvidia tesla a100, what would you do with it?
-
NeoVim & Rust
I also recommend you https://github.com/preservim/tagbar with https://ctags.io/ installed , it will map definitions (functions, enum, struct etc..) to tags and tagbar plugin allows you to open a split window with the mapped list and navigate through your file, it also enabled more advanced features for quick navigation .
-
How do you figure out which #include a function/variable came from?
grep, Ctags, Cscope, LSP
-
Vim plugin like vscode "go to definition" function
Vim has the tag feature built-in, which allows it to jump to the tags that were found by a tool like universal ctags using :h CTRL-]. See :help tags for more information on this. Fun fact: this is the approach that Vim uses when you use :help!
-
Neovim config from scratch (Part II)
Requirements: You need to have a CTags implementation like universal-ctags installed on your system (on every system where you use vim).
-
How to check the memory usage of my plugins?
Install https://github.com/universal-ctags/ctags
-
Project reading tools
If you are heavy Vim user, you do not need anything else. For just quick browsing, simply use ctags, make sure to use universal ctags (https://ctags.io) not exuberant ctags which are no longer well maintained. Go works out of box.
-
Help me set up vim for linting and a file tree please and some other stuff
Other (built-in) tools for file navigation in Vim include: :h :ls and :h :buffer to navigate in your buffer list (i.e. the files you have loaded); everything listed in [https://vimways.org/2018/death-by-a-thousand-files/](romainl's "Death by a Thousand Files" articles in vimways); using tags by installing universal-ctags to generate the tags then using any of the commands in :h tag to navigate them; setting global marks to files you use often with m[UPPERCASE LETTER] and jumping to them with `[UPPERCASE LETTER]; :h :vimgrep…
-
Ctags and referencing static functions, is it possible?
I have good news for you. Universal Ctags, an Exuberant Ctags fork and essentially its replacement, has fixed this already:
-
Searching files or words using fuzzy finders
Vim has built-in functionality that works pretty similar to what you want. If you have a tags file (for example, using universal ctags), you can hit Ctrl-] (:h Ctrl-]) to jump to the declaration of any function under your cursor. Or, if you don't have a tags file, you can use gd (:h gd) to jump to a local declaration within the open file.
What are some alternatives?
clede
lsp-mode - Emacs client/library for the Language Server Protocol
alive-lsp - Language Server Protocol implementation for use with the Alive extension
vscode-intelephense - PHP intellisense for Visual Studio Code
lem-opengl - OpenGL frontend for the Lem text editor
lsp - Language Server Protocol (LSP) plugin for Vim9
DifferentialEquations.jl - Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
nvim-lspconfig - Quickstart configs for Nvim LSP
roswell - intended to be a launcher for a major lisp environment that just works.
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
doc - Flexible documentation generator for Common Lisp projects.
vim-gutentags - A Vim plugin that manages your tag files