Skip to content

.gitignore entries are not ignored by the file-picker in elixir project, but .ignore is #3415

Closed
@manuel2258

Description

@manuel2258

Summary

Hidding the entries of a .gitignore file in the file-picker does not work for me in elixir projects.
However copying the .gitignore file to .ignore does hide them in the file-picker.

My config:

$ cat ~/.config/helix/config.toml
...
[editor.file-picker]
hidden = false
git-ignore = true
...

It seems to only be an issue in elixir projects, could maybe the language-server interfere?
For example the rust helix repo it self does ignore all build artifacts in target/ without any problem.
Also go seems to work just fine.

hx --health
$ hx --health elixir
Configured language server: elixir-ls
Binary for language server: /opt/elixir-ls/elixir-ls
Configured debug adapter: None
Highlight queries: ✔
Textobject queries: ✔
Indent queries: ✘

$ hx --health rust
Configured language server: rust-analyzer
Binary for language server: /home/manuel/.cargo/bin/rust-analyzer
Configured debug adapter: lldb-vscode
Binary for debug adapter: Not found in $PATH
Highlight queries: ✔
Textobject queries: ✔
Indent queries: ✔

$ hx --health go
Configured language server: gopls
Binary for language server: /home/manuel/.asdf/shims/gopls
Configured debug adapter: dlv
Binary for debug adapter: /home/manuel/.asdf/shims/dlv
Highlight queries: ✔
Textobject queries: ✔
Indent queries: ✔

Reproduction Steps

Recording: asciinema

Helix log

without .ignore ~/.cache/helix/helix.log
2022-08-13T15:04:22.181 helix_loader [DEBUG] Located configuration folders: []
2022-08-13T15:04:22.186 helix_view::clipboard [INFO] Using xclip to interact with the system and selection (primary)
clipboard
2022-08-13T15:04:22.186 globset [DEBUG] glob converted to regex: Glob { glob: "*.{zip,gz,bz2,zst,lzo,sz,tgz,tbz2,lz,l
z4,lzma,lzo,z,Z,xz,7z,rar,cab}", re: "(?-u)^[^/]*\\.(cab|rar|7z|xz|Z|z|lzo|lzma|lz4|lz|tbz2|tgz|sz|lzo|zst|bz2|gz|zip
)$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true }, tokens: Tokens([
ZeroOrMore, Literal('.'), Alternates([Tokens([Literal('c'), Literal('a'), Literal('b')]), Tokens([Literal('r'), Liter
al('a'), Literal('r')]), Tokens([Literal('7'), Literal('z')]), Tokens([Literal('x'), Literal('z')]), Tokens([Literal(
'Z')]), Tokens([Literal('z')]), Tokens([Literal('l'), Literal('z'), Literal('o')]), Tokens([Literal('l'), Literal('z'
), Literal('m'), Literal('a')]), Tokens([Literal('l'), Literal('z'), Literal('4')]), Tokens([Literal('l'), Literal('z
')]), Tokens([Literal('t'), Literal('b'), Literal('z'), Literal('2')]), Tokens([Literal('t'), Literal('g'), Literal('
z')]), Tokens([Literal('s'), Literal('z')]), Tokens([Literal('l'), Literal('z'), Literal('o')]), Tokens([Literal('z')
, Literal('s'), Literal('t')]), Tokens([Literal('b'), Literal('z'), Literal('2')]), Tokens([Literal('g'), Literal('z'
)]), Tokens([Literal('z'), Literal('i'), Literal('p')])])]) }
2022-08-13T15:04:22.186 globset [DEBUG] built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes
, 0 required extensions, 1 regexes
2022-08-13T15:04:22.186 globset [DEBUG] built glob set; 8 literals, 2 basenames, 1 extensions, 0 prefixes, 0 suffixes
, 1 required extensions, 0 regexes
2022-08-13T15:04:22.192 helix_term::ui [DEBUG] file_picker init 6.161948ms
2022-08-13T15:04:24.243 helix_term::job [DEBUG] waiting on jobs...
with .ignore ~/.cache/helix/helix.log
2022-08-13T15:04:57.362 helix_loader [DEBUG] Located configuration folders: []
2022-08-13T15:04:57.366 helix_view::clipboard [INFO] Using xclip to interact with the system and selection (primary)
clipboard
2022-08-13T15:04:57.367 globset [DEBUG] glob converted to regex: Glob { glob: "*.{zip,gz,bz2,zst,lzo,sz,tgz,tbz2,lz,l
z4,lzma,lzo,z,Z,xz,7z,rar,cab}", re: "(?-u)^[^/]*\\.(cab|rar|7z|xz|Z|z|lzo|lzma|lz4|lz|tbz2|tgz|sz|lzo|zst|bz2|gz|zip
)$", opts: GlobOptions { case_insensitive: false, literal_separator: true, backslash_escape: true }, tokens: Tokens([
ZeroOrMore, Literal('.'), Alternates([Tokens([Literal('c'), Literal('a'), Literal('b')]), Tokens([Literal('r'), Liter
al('a'), Literal('r')]), Tokens([Literal('7'), Literal('z')]), Tokens([Literal('x'), Literal('z')]), Tokens([Literal(
'Z')]), Tokens([Literal('z')]), Tokens([Literal('l'), Literal('z'), Literal('o')]), Tokens([Literal('l'), Literal('z'
), Literal('m'), Literal('a')]), Tokens([Literal('l'), Literal('z'), Literal('4')]), Tokens([Literal('l'), Literal('z
')]), Tokens([Literal('t'), Literal('b'), Literal('z'), Literal('2')]), Tokens([Literal('t'), Literal('g'), Literal('
z')]), Tokens([Literal('s'), Literal('z')]), Tokens([Literal('l'), Literal('z'), Literal('o')]), Tokens([Literal('z')
, Literal('s'), Literal('t')]), Tokens([Literal('b'), Literal('z'), Literal('2')]), Tokens([Literal('g'), Literal('z'
)]), Tokens([Literal('z'), Literal('i'), Literal('p')])])]) }
2022-08-13T15:04:57.367 globset [DEBUG] built glob set; 0 literals, 0 basenames, 0 extensions, 0 prefixes, 0 suffixes
, 0 required extensions, 1 regexes
2022-08-13T15:04:57.367 globset [DEBUG] built glob set; 8 literals, 2 basenames, 1 extensions, 0 prefixes, 0 suffixes
, 1 required extensions, 0 regexes
2022-08-13T15:04:57.367 globset [DEBUG] built glob set; 8 literals, 2 basenames, 1 extensions, 0 prefixes, 0 suffixes
, 1 required extensions, 0 regexes
2022-08-13T15:04:57.367 ignore::walk [DEBUG] ignoring ./deps: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("./.igno
re"), original: "/deps/", actual: "deps", is_whitelist: false, is_only_dir: true })))
2022-08-13T15:04:57.367 ignore::walk [DEBUG] ignoring ./_build: Ignore(IgnoreMatch(Gitignore(Glob { from: Some("./.ig
nore"), original: "/_build/", actual: "_build", is_whitelist: false, is_only_dir: true })))
2022-08-13T15:04:57.368 helix_term::ui [DEBUG] file_picker init 1.142681ms
2022-08-13T15:04:59.192 helix_term::job [DEBUG] waiting on jobs...

Platform

Linux Pop!_OS 22.04 LTS

Terminal Emulator

xterm-256color

Helix Version

helix 22.05 (80dde57) 22.05-388-g80dde577

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions