atom / language-go

Go language package for Atom
Other
106 stars 65 forks source link

type name not colored in block type statement #155

Closed eternal-flame-AD closed 6 years ago

eternal-flame-AD commented 6 years ago

Prerequisites

Description

The type name in block type statements is not colored the same as regular type declarations did.

Steps to Reproduce

Sample code:

type (
    A struct {
        foo string
        bar int
    }
    B interface {
        baz()
    }
)

type C struct {
    foo string
    bar int
}

type D interface {
    baz()
}

Expected behavior: Type name "A" "B" "C" and "D" should have consistent colors.

Actual behavior: See the screenshot below, "A" and "B" are not colored correctly: image

Reproduces how often: Always.

Versions

Atom : 1.31.2 Electron: 2.0.11 Chrome : 61.0.3163.100 Node : 8.9.3

apm 2.1.3 npm 6.4.1 node 10.12.0 x64 atom 1.31.2 python 2.7.15 git 2.19.1

OS: Linux 4.18.14-arch1-1-ARCH

Additional Information

Any additional information, configuration or data that might be necessary to reproduce the issue.

rsese commented 6 years ago

Thanks for the report!

This is fixed if you use the new Tree-sitter parsing system, which is enabled by default in Atom 1.32 Beta. If you're not the beta channel, you can enable it manually by checking the Use Tree-sitter Parsers box in the settings view, or wait for Atom 1.32 Stable to be released.

Here's how it looks with Tree-sitter:

image

If you are interested in fixing this bug for the TextMate grammar system used in other projects (such as VSCode) we would be happy to accept a PR, however we probably won't prioritize work on these kinds of things ourselves, since Atom is moving away from TextMate for this language.

Because we treat our issues list as the Atom team's backlog, I'm closing this issue as it no longer affects Atom.