Skip to content

Clarify whether any glob patterns are invalid, and the behaviour if a client receives an invalid glob #2216

@DanTup

Description

@DanTup

An issue came up in Neovim at neovim/neovim#37204 about it failing to initialize if the server provides a glob like **/**.dart which it considers to be invalid.

It's not clear to me from the spec that **/**.dart is invalid (it might not be what was intended, but that's a different issue), or what the behaviour should be if a client receives an invalid glob (if that is possible). My suggestion is that neovim handles this the same way that npm's glob/minimatch does, but I also appreciate that they should be following a spec and not another implementation.

Specifically, the should make it clear:

  • whether **/**.dart is valid or not
    • and what its behaviour would be
  • whether unclosed braces/brackets are valid or not, for example example.[0-9 missing its closing bracket or **​/*.{ts,js missing its closing brace
    • and what their behaviour should be
  • if a pattern is invalid, what the behaviour should be (fail, ignore, etc.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions