utilyre / sentiment.nvim Goto Github PK
View Code? Open in Web Editor NEWEnhanced matchparen.vim plugin for Neovim
License: MIT License
Enhanced matchparen.vim plugin for Neovim
License: MIT License
It does, however, stop the created autocmd.
NOTE: This is due to the delay
option.
When you said it's blazingly fast, can I make an assumption that it would not cause any problem that the built-in matchparen has when working with ultra-large repo like Linux Kernel source code? That's the main reason I disable built-in matchparen.
Currently, I set the limit
to 80
lines to prevent possible lagging in the future. Just curious how large this number can be before things got tricky. Thanks!
On the other hand, I think you might consider submitting a PR upstream if the performance is really good. The built-in matchparen is really bad when working with large repo from my experience. Anyway, thanks for creating this plugin!
Hi, thanks for this nice little plugin.
I found it actually looking for something else, namely a plugin that would highlight the parenthesis a %
would jump to, somewhat a quickscope but for %
. While this plugin is already useful, I think also (or alternatively) highlighting the %
bracket could be quite useful. Just like quickscope helps one to "learn" the f
and t
movements, this could help to learn the %
movement.
Would be nice to have a matchparen toggle in addition match and no match for easy keybinding, either user command or api .
The highlight is never cleared on cursor move, which causes old/stale highlights to stay highlighted even if the cursor is completely outside of the pairs.
Minimal example situation where this can be seen easily:
|
denotes cursor position.delay
option is set to 225
.-- ( |thing )
-- ( thing )
Quickly start pressing j, k, j, k, j...
(Move cursor up and down.) The highlight will linger at the old location, and only gets cleared once the delay time is reached and a new highlight is created.
This linger is an issue with small delays too, like 32
, but more difficult to notice. If holding down a movement key, for example <Right>
, the delay will linger until the key is no longer held down.
I believe the lingering highlight also causes visual flicker when the vim option scrolloff
is active. Which I myself find the most annoying. Up to the point of possibly being unable to use this plugin, which I like.
What must be kept in mind is that the highlight should not be cleared on every cursor move, as that would cause another type of flicker while moving the cursor inside a pair.
When using the config example from the README, but omitting the opts
property (sticking to defaults), the plugin isn't initialized properly for me. Manually calling require("sentiment").enable()
doesn't alleviate this.
Would be good to see this behavior changed, as I think it doesn't happen with other plugins.
If it cannot be changed, the README could point out that opts
is mandatory, or that config = true
must be set when opts
isn't, to ensure sentiment.setup()
is run.
First, thank you for this very helpful plugin.
A feature that I'd find useful is the ability to specify the format of the highlighting. For example, I'd prefer a simple underline of the respective pairs rather than a color change.
Firstly, thank you for your work, it's a nice plugin for me.
I use this plugin for inlay hint
in my nightly neovim, but your plugin will have a little problem that more positoins will be highlighted.
lsp-inlayhints.nvim
I have two windows, there will be an error when closing one of them.
Error executing vim.schedule lua callback: ...re/nvim/lazy/sentiment.nvim/lua/sentiment/ui/Portion.lua:17: Invalid window id: 1006
stack traceback:
[C]: in function 'nvim_win_get_cursor'
...re/nvim/lazy/sentiment.nvim/lua/sentiment/ui/Portion.lua:17: in function 'new'
...ocal/share/nvim/lazy/sentiment.nvim/lua/sentiment/ui.lua:136: in function ''
vim/_editor.lua: in function ''
vim/_editor.lua: in function <vim/_editor.lua:0>
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.