[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode
From: |
Randy Taylor |
Subject: |
bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode |
Date: |
Wed, 14 Dec 2022 20:54:39 +0000 |
On Wednesday, December 14th, 2022 at 14:55, Yuan Fu <casouri@gmail.com> wrote:
>
> > I am having a tiny bit of trouble with a go.mod indentation rule. Using the
> > patch, create a go.mod file anywhere, activate go-mod-ts-mode and add the
> > following:
> >
> > require ()
> >
> > Place point inside the parens, and then hit enter. The expectation is that
> > point will end up indented inside that block. If you add the text "test
> > v1.0.0" and hit TAB, it will indent properly (and if you hit enter after
> > that text it will indent properly for the next entry). If you go to the end
> > of the line for the top paren and hit enter, it will not indent (and we
> > want it to). It seems to give us no-node in that circumstance. Is there a
> > simple indent rule that can match exactly that that I'm missing?
>
>
> I think you can just test for the parent? In C, if point is at an empty line
> after a statement in a block, like this:
>
> int main() {
> return 0;
> |
> }
>
> The matched rule is (parent-is “compond_statement”), where compound_statement
> is the block. In your case, I guess you can test if parent is the argument
> list.
>
> Yuan
I do match for the parent, but it doesn't seem to help.
Here's what tree-sitter explorer shows for the following:
require (
)
(require_directive require ( \n ) \n)
If I put point on the line right below r and do C-S-a, tree-sitter explorer
shows:
(require_directive require (*\n ) \n)
The * indicates that part is highlighted.
The second I make it "proper" like so:
require (
test v1
)
I can hit TAB and it will indent properly (but not anything above it, only that
line and anything below).
I would think that checking parent-is for require_directive would be enough but
it's not somehow???
It's instead matching my no-node rule...
(Also I attached a new patch which contains a few more indent rules for go.mod
I forgot about).
0001-Add-go-ts-mode-and-go-mod-ts-mode-Bug-60025.patch
Description: Text Data
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/12
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Eli Zaretskii, 2022/12/13
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/13
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Eli Zaretskii, 2022/12/14
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/14
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Yuan Fu, 2022/12/14
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode,
Randy Taylor <=
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Theodor Thornhill, 2022/12/14
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/14
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/14
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Theodor Thornhill, 2022/12/15
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/15
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Theodor Thornhill, 2022/12/15
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/15
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Theodor Thornhill, 2022/12/15
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/15
- bug#60025: [PATCH] Add go-ts-mode and go-mod-ts-mode, Randy Taylor, 2022/12/15