Comments (6)
Hey!
It should not be required to have anything else configured for this plugin. Here's my configuration (very minimal):
-- ... nvim-treesitter config
context_commentstring = {
enable = true,
enable_autocmd = false,
},
-- Comment.nvim config
require('Comment').setup {
pre_hook = require('ts_context_commentstring.integrations.comment_nvim').create_pre_hook(),
}
Which results in:
Screen.Recording.2022-12-27.at.18.38.09.mov
Where I'm visually selecting the lines and using gc
(and gcj
) to comment/uncomment.
I see that one difference we have is that in my case, the commentstring is applied on each line separately, but on yours, it's applied to the start of the first line and the ending of the second line. Maybe this has something to do with it?
Could you share your exact configuration and steps to reproduce (with specific keys pressed)?
from nvim-ts-context-commentstring.
Hey thanks for your response!
I'll do it when I have time, now trying to fix an urgent issue. I'll keep you updated on this okay?
from nvim-ts-context-commentstring.
Hey, yes, the difference is I'm using the visual mode with the block commenter:
comment.setup({
-- toggle mappings in normal mode
toggler = {
-- line comment toggle keymap
line = "<leader>c<leader>",
},
-- opleader mappings in visual mode
opleader = {
-- multiline comment toogle keymap
block = "<leader>c<leader>",
},
-- nvim-ts-context-commentstring integration
pre_hook = context_commentstring_integration.create_pre_hook(),
})
So if I'm the current line in normal mode it will work as line comment, if is visual mode, as block comment (for multiple line selecting).
Maybe that may be causing my issue?
BTW, I'm using the same keybinding for comment/uncomment (toggle) depending of the nvim mode.
from nvim-ts-context-commentstring.
Thanks for the example config! I was able to reproduce the issue with your Comment.nvim configuration.
It looks like we previously used the cursor location for calculating the commentstring
, but we should have been using the visual selection start location. Not sure how this wasn't breaking with the default configuration 🤔
Anyways, I set up a PR: #54 Could you try it out and see if it fixes the issue for you as well?
from nvim-ts-context-commentstring.
Hey thank you for the quick fix! I've tested and is working for me. Also it seems isn't breaking other sort of comments 👌🏻
✅
from nvim-ts-context-commentstring.
Sweet, thanks for the bug report and the help!
from nvim-ts-context-commentstring.
Related Issues (20)
- Can't make it work with Vue, Comment.nvim and lazy.nvim HOT 5
- failed to install HOT 5
- module 'ts-context-com mentstring.integrations.comment_nvim' not found: HOT 3
- Configure without tree-sitter HOT 3
- trouble getting this to work with jsx HOT 3
- mini.comment integration pre hook - require("ts_context_commentstring.internal").update_commentstring() requires 1 argument HOT 5
- Option 'commentstring' is empty in .swift file HOT 3
- Does this work well when nvim-treesitter 1.0 is out? HOT 4
- plugin cause j/k position incorrect HOT 6
- tsx is not properly commenting HOT 8
- Vue comment not working properly HOT 2
- This plugin doesn't set the `comments` var. HOT 2
- BREAKING CHANGES HOT 6
- Incorrent commentstring for inline markdown code blocks HOT 4
- `set ft?` return `filetype=on` and causing losing syntax highlighting HOT 5
- Commenting is slow in large Markdown files HOT 2
- context_commentstring nvim-treesitter module is deprecated HOT 2
- tsx is not properly commenting even when ts-context-commentstring works HOT 1
- Please do not create unnecessary global variables
- Vue comment js/ts using html comment tags HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nvim-ts-context-commentstring.