darker
lsp-format-modifications.nvim
darker | lsp-format-modifications.nvim | |
---|---|---|
8 | 4 | |
612 | 130 | |
- | - | |
9.3 | 5.1 | |
10 days ago | 9 months ago | |
Python | Lua | |
GNU General Public License v3.0 or later | 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.
darker
-
Visual Selection Range Formatting Support for Python files using black formatter
Thanks for your suggestions. I have gone through the GitHub issue that you have mentioned. From there I got to know about this plugin https://github.com/akaihola/darker
-
Is rustfmt abandoned? Will it ever format `let ... else` syntax?
For Python, Darker does that by applying Black only to changed areas of the code. Maybe the same approach could be used for rustfmt by creating a separate tool?
-
Can the null-ls formatter be configured to automatically format only new code, and leave existing code alone?
Not an answer to your question but in the specific case of black you can instead use: https://github.com/akaihola/darker
-
I'm an amateur Python programmer, what's my next step?
For instance, we have a number of interesting features planned for the 1.5.0 release of Darker, a tool for running Black/isort/pylint/flake8 but limiting to only lines modified between two given Git commits.
-
Does Github Actions support writing custom actions in python?
I knew one library using "composite". - Darker: https://github.com/akaihola/darker/blob/master/action.yml - More details here: https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
-
Django now uses black to format it's codebase
There's also Darker for only reformatting (using Black) the lines modified by commits.
-
How to do range formatting for python?
Assuming the range you're interested in is a range with your changes, you should look at darker.
-
Typehole – Create TypeScript interfaces from JS runtime values automatically
Yeah that's how we've used it. The results need manual checking, but together with darker https://github.com/akaihola/darker that's how we've been slowly ratcheting our Django monolith into a typed codebase.
lsp-format-modifications.nvim
-
Can the null-ls formatter be configured to automatically format only new code, and leave existing code alone?
I’ve been using the plugin lsp-format-modifications to format only modified text regions. Haven’t tried it with Python black though so would be worth testing it out yourself :)) There’s a note at the bottom of the README about how to set it up with null-ls :)
-
Format selection instead of entire file?
Tangentially related: if you're specifically interested in formatting modifications (which is often the case when folks are trying to format a specific range of lines) check out lsp-format-modifications.nvim.
-
Auto formatting in shared repo's/projects
I think you’re referring to my plugin, lsp-format-modifications.nvim. It uses the diff from Git/Mercurial’s point of view to establish what should be formatted. For the actual formatting, it uses Neovim’s built-in LSP formatting via vim.lsp.buf.format by default.
- lsp-format-modifications.nvim: LSP formatting, but only on modified text regions
What are some alternatives?
prettier-plugin-nunjucks - [WIP] Prettier plugin to format Nunjucks
nvim-lspconfig - Quickstart configs for Nvim LSP
MonkeyType - A Python library that generates static type annotations by collecting runtime types
formatter.nvim
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
vim-local-history - A Neovim plugin for maintaining local history of files.
monkeytype - The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
typehole - TypeScript development tool for Visual Studio Code that helps you automate creating the initial static typing for runtime values
djhtml - Django/Jinja template indenter
blue - The slightly less uncompromising Python code formatter.
prettier-plugin-rust - Prettier Rust is an opinionated code formatter that autocorrects bad syntax.