iceberg
python-lsp-server
iceberg | python-lsp-server | |
---|---|---|
5 | 55 | |
133 | 1,675 | |
0.0% | 3.3% | |
9.1 | 8.1 | |
12 days ago | 27 days ago | |
Smalltalk | Python | |
MIT License | MIT License |
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.
iceberg
-
LSP could have been better
The problem with the filesystem is that it privileges organization scheme which isn’t the best one for every editing task. This makes, for example, implementation inheritance hard because your class has a bunch of invisible code in it. But, it you could expand all the superclass methods into a single view and then have edits automatically integrated into the appropriate places, this wouldn’t be as much of a problem.
Java’s filesystem hierarchy is a great example of a “fileout” format for the sort of environment I’m talking about. Another example here is smalltalk repositories generated by Iceberg: https://github.com/pharo-vcs/iceberg
-
Pharo 11, the pure object-oriented language and environment is released!
and looking at sample git commit (I assume this was done in Iceberg): https://github.com/pharo-vcs/iceberg/pull/1687/files
-
Stop Writing Dead Programs
By committing the code to a git repo and having a code review like every other language out there.
I'm guessing you have never tried these things but image based Smalltalk implementations have supported VCS for decades now, literally. In Pharo this is with git using Iceberg:
https://github.com/pharo-vcs/iceberg
They even wrote a tutorial to make it easier: https://github.com/pharo-vcs/iceberg/wiki/Tutorial
It's not magic, it's not even a problem, because the problem you're imagining doesn't actually exist. So long as the user of the system has at least half a brain (and maybe less) they will be capable of distributing their code with git these days.
-
Design Principles Behind Smalltalk (2001)
Iceberg for Pharo: https://github.com/pharo-vcs/iceberg
Monticello: http://www.wiresong.ca/monticello/
I haven't used the latter, but the former is easy to use and based on libgit. Create a new repository, select the packages that go into it, make the initial commit. After that it'll tell you when the changes don't match the repo. You can select down to the method level since it's aware of the language's syntax and semantics. The generated repository looks like the Iceberg repo itself, a collection of directories for the packages and then .st files for the classes and their contents.
-
Pharo 10
> a copy of your code the environment does some extra epicycles to copy it outside
Iceberg https://github.com/pharo-vcs/iceberg is the Git/etc. integration built into Pharo and works extremely well. You don't need to "file out" code if that's what you meant.
python-lsp-server
-
Pylyzer – A fast static code analyzer and language server for Python
Python LSP Server works great, is easier to install and even offers some optional extensions.
https://github.com/python-lsp/python-lsp-server
-
JetBrains' unremovable AI assistant meets irresistible outcry
I suggest looking for blog posts about this, you're gunnuh wanna pick out a plugin manager and stuff. It's kind of like a package manager for neovim. You can install everything manually but usually you manually install a plugin manager and it gives you commands to manage the rest of your plugins.
These two plugins are the bare minimum in my view.
https://github.com/nvim-treesitter/nvim-treesitter
Treesitter gives you much better syntax highlighting based on a parser for a given language.
https://github.com/neovim/nvim-lspconfig
This plugin helps you connect to a given language LSP quickly with sensible defaults. You more or less pick your language from here and copy paste a snippet, and then install the relevant LSP:
https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser...
For Python you'll want pylsp. For JavaScript it will depend on what frontend framework you're using, I probably can't help you there.
pylsp itself takes some plugins and you'll probably want them. https://github.com/python-lsp/python-lsp-server
Best of luck! Happy hacking.
-
LSP could have been better
I came at the tail end of https://github.com/python-lsp/python-lsp-server/issues/195. The possibility of me sponsoring a fix came up, and I’m on board with it, but the other contributor never replied.
-
null-ls will be archived
I haven't used pylint, but I find mypy with python-lsp-server extremely easy to use with nvim-lspconfig, especially on Arch linux.
-
I want to start making my console apps, I only have experience with game dev, where should I start?
Whatever you use, make sure you have syntax highlighting, completion and error checking! I'm using pylsp and shellcheck in emacs, but those or similar options should work in any IDE, replacing much of what made IDEs unique in former times.
-
Eglot + pyright can not get completion on django.db.models
Perhaps unrelated, from my experience, pylsp is better than pyright, see https://github.com/python-lsp/python-lsp-server/.
-
LSP with pylsp: it work-ish but autocompletion and hover randomly work.
I am finally starting to use lsp for python development. I am using pylsp as LS.
-
New way of logging - is this a good idea?
I'm talking about this python LSP server (the command is pylsp that's why).
-
Does a language server replace ALE, syntastic, and the language plugin?
Another example, you can setup python-lsp-server with nvim-lspconfig (lsp server also needs to be installed globally or in virtualenv) and they have a plugin for black which you can then install in the same virtualenv and just use lsp to format the code instead of formatter.nvim.
-
Go to the definition of Python object in astrovim
Do you use any lsp (like pylsp or pyright)? If yes, did you setup it to use proper python / did you activate venv?
What are some alternatives?
gtoolkit - Glamorous Toolkit is the Moldable Development environment. It empowers you to make systems explainable through experiences tailored for each problem.
pyright - Static Type Checker for Python
REPLEndpoint - A RESTful endpoint that behaves like a REPL
jedi-language-server - A Python language server exclusively for Jedi. If Jedi supports it well, this language server should too.
PharoChipDesigner - A little chip design game inspired by KOHCTPYKTOP: Engineer of the People by Zachtronics
nvim-lspconfig - Quickstart configs for Nvim LSP
pharo - The Sources for Pharo
python-language-server - An implementation of the Language Server Protocol for Python
PharoByExample9 - The version of Pharo by Example for Pharo 90
jedi - Awesome autocompletion, static analysis and refactoring library for python
Parasol - Testing web apps in Smalltalk using Selenium WebDriver.
vim-lsp - async language server protocol plugin for vim and neovim