-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Control fuzzy vs strict completion #872
Comments
@paaguti Thanks for the suggestion! Just to be clear, are you talking about a general configuration setting (for example, providing something like |
Yes, something like that, with values 'fuzzy' and 'exact' (for example)
/PA
…On Wed, 29 Mar 2023 at 21:21, Patrick Förster ***@***.***> wrote:
@paaguti <https://github.com/paaguti> Thanks for the suggestion! Just to
be clear, are you talking about a general configuration setting (for
example, providing something like "texlab.completion.matcher": "fuzzy")?
—
Reply to this email directly, view it on GitHub
<#872 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZKU4DDLTIVWOHKHDIODULW6SDVNANCNFSM6AAAAAAWLXDWDU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Fragen sind nicht da um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler
Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run
a leader-deposed hook here, but we can't yet
|
What you want should be called "prefix" . "Fuzzy" is typically something else, namely if there can be other characters in between, e.g., usepackage when the search string is "upa". See also https://company-mode.github.io/manual/Overview.html#Terminology |
Ok, no problem. Call it 'prefix', but I think the message got through.
So values could be 'prefix and 'anywhere and reserve 'fuzzy for the future
if you want to implement it
;-)
/PA
…On Fri, 7 Apr 2023 at 13:02, Tim Ruffing ***@***.***> wrote:
What you want should be called "prefix" . "Fuzzy" is typically something
else, namely if there can be other characters in between, e.g., *u*se*pa*ckage
when the search string is "upa". See also
https://company-mode.github.io/manual/Overview.html#Terminology
—
Reply to this email directly, view it on GitHub
<#872 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZKU4CZTTNUKNJTM5KK54TW77X4JANCNFSM6AAAAAAWLXDWDU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Fragen sind nicht da, um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler
Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run
a leader-deposed hook here, but we can't yet
|
The server already does fuzzy matching, however some clients (e. g. VSCode) do their own filtering which messes with the fuzziness. I think the semantics of the
|
I think both things are orthogonal since case can be applied to matching
mode (like upa matching a hypothetic UsePackage)
1) Case sensitivity: Could that be controlled from the CLI/client?
2) That was the beginning of the loop ;-) So let's see... we would define
- fuzzy as matching characters in the same order but with non-matching
characters in between
upk -> usepackage
- prefix as matching from the beginning
use -> usepackage
- strict as matching a substring (as opposed to fuzzy)
That would be my understanding,
Thx,/PA
…On Mon, 10 Apr 2023 at 11:50, Patrick Förster ***@***.***> wrote:
What you want should be called "prefix" . "Fuzzy" is typically something
else, namely if there can be other characters in between, e.g., usepackage
when the search string is "upa"
The server already does fuzzy matching, however some clients (e. g.
VSCode) do their own filtering which messes with the fuzziness.
I think the semantics of the strict mode need to be further specified:
- Do we want case sensitivity or not?
- Do we want to search for substrings (e. g. return usepackage if you
type package)?
—
Reply to this email directly, view it on GitHub
<#872 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZKU4HG2JJRMSHSGXBQZ6LXAPJVBANCNFSM6AAAAAAWLXDWDU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
Fragen sind nicht da, um beantwortet zu werden,
Fragen sind da um gestellt zu werden
Georg Kreisler
Headaches with a Juju log:
unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run
a leader-deposed hook here, but we can't yet
|
Version 5.5.0 now provides a setting for controlling the completion matcher: https://github.com/latex-lsp/texlab/wiki/Configuration#texlabcompletionmatcher |
Tested and hyper-cool :-) |
## [5.5.0] - 2023-04-16 ### Added - Allow optionally passing cursor position to `textDocument/build` request for use in forward search after building. Previously, the server had to guess the cursor position ([#475](latex-lsp/texlab#475)) - Add experimental `texlab.experimental.citationCommands` setting to allow extending the list of citation commands ([#832](latex-lsp/texlab#832)) - Add support for escaping placeholders in build arguments similar to forward search - Allow configuring completion matching algorithm ([#872](latex-lsp/texlab#872)) ### Fixed - Fix regression introduced in `v5.4.2` involving `texlab.cleanArtifacts` command. ## [5.4.2] - 2023-04-11 ### Fixed - Fix memory leak when editing documents over a long time ([#856](latex-lsp/texlab#856)) - Fix parsing parentheses in file paths ([#874](latex-lsp/texlab#874)) ## [5.4.1] - 2023-03-26 ### Fixed - Do not return symbols with empty names (e. g. sections without name) ([#870](latex-lsp/texlab#870)) - Repair `textDocument/formatting` request ([#871](latex-lsp/texlab#871)) ## [5.4.0] - 2023-03-12 ### Added - Add experimental settings to allow extending the list of special environments: - `texlab.experimental.mathEnvironments` - `texlab.experimental.enumEnvironments` - `texlab.experimental.verbatimEnvironments` - Add `texlab.changeEnvironment` workspace command ([#849](latex-lsp/texlab#849)) - Add `texlab.showDependencyGraph` workspace command ### Changed - Do not show caption or section names in label inlay hints ([#858](latex-lsp/texlab#858)) - Include more user-defined commands in command completion ### Fixed - Parse nested `\iffalse` blocks correctly ([#853](latex-lsp/texlab#853)) - Parse commands with multi-byte characters correctly ([#857](latex-lsp/texlab#857)) - Fix checking whether a document can be a root file ## [5.3.0] - 2023-02-25 ### Added - Allow filtering `textDocument/documentSymbols` using regular expressions specified via `texlab.symbols.allowedPatterns` and `texlab.symbols.ignoredPatterns` ([#851](latex-lsp/texlab#851)) ### Fixed - Do not use percent-encoded path when searching for PDF files during forward search ([#848](latex-lsp/texlab#848)) - Always return an empty list of code actions instead of returning "method not found" ([#850](latex-lsp/texlab#850)) ## [5.2.0] - 2023-01-29 ### Added - Include line numbers in build warnings when available ([#840](latex-lsp/texlab#840)) - Add `none` formatter to `texlab.latexFormatter` and `texlab.bibtexFormatter` options to allow disabling formatting ([#846](latex-lsp/texlab#846)) ### Fixed - Concatenate more than two lines of maximum length in build diagnostics ([#842](latex-lsp/texlab#842)) - Apply the correct range of references to labels when renaming ([#841](latex-lsp/texlab#841)) - Use `document` environment to detect root file instead of `\documentclass` ([#845](latex-lsp/texlab#845)) ## [5.1.0] - 2023-01-21 ### Added - Allow manually overriding the root directory using a `texlabroot`/`.texlabroot` marker file. See the wiki for more information. ([#826](latex-lsp/texlab#826), [#838](latex-lsp/texlab#838)) ### Deprecated - Deprecate `texlab.rootDirectory` setting in favor of `.texlabroot` files ### Fixed - Do not use `.git`, `.chktexrc`, `.latexmkrc` files/directories to determine the root directory ([#826](latex-lsp/texlab#826)) - Fix building documents without an explicit root directory ([#837](latex-lsp/texlab#837)) ## [5.0.0] - 2022-12-29 ### Changed - _BREAKING_: `texlab.rootDirectory` is now used as the folder path from which the compiler is executed relative to the main document. By default it is equal to `"."`. For more information, please visit the wiki. - Improve performance of completion by a huge margin due to a faster filtering method used internally - Do not discover project files beyond the provided workspace folders - Try to guess the root directory by checking for files such as `.latexmkrc` or `Tectonic.toml` if `texlab.rootDirectory` is not set ### Fixed - Update positions of reported build diagnostics when editing the affected line - Do not treat links to files as bidirectional by default. This prevents issues where `texlab` ends up compiling the wrong file in projects with shared files ([#806](latex-lsp/texlab#806), [#757](latex-lsp/texlab#757), [#679](latex-lsp/texlab#679)) - Fix coverage of directories which need to be watched for changes ([#502](latex-lsp/texlab#502), [#491](latex-lsp/texlab#491)) - Resolve links of the `import` package correctly - Use `filterText` of completion items when filtering internally ([#829](latex-lsp/texlab#829)) ## [4.3.2] - 2022-11-20 ### Fixed - Do not try to run the TeX engine on package files and fail the build instead ([#801](latex-lsp/texlab#801)) - Handle URIs with URL-encoded drive letters on Windows ([#802](latex-lsp/texlab#802)) - Parse BibTeX entries with unbalanced quotes correctly ([#809](latex-lsp/texlab#809)) - Provide completion for more acronym commands ([#813](latex-lsp/texlab#813)) - Fix parsing acronym definitions ([#813](latex-lsp/texlab#813)) ## [4.3.1] - 2022-10-22 ### Fixed - Do not crash with a stack overflow when trying to load packages with many internal dependencies ([#793](latex-lsp/texlab#793)) - Normalize drive letters of all document URIs - Fix parsing commands that take file paths as arguments ([#789](latex-lsp/texlab#789)) - Use the correct working directory and command line arguments when calling `latexindent` ([#645](latex-lsp/texlab#645)) - Fix publishing to CTAN ## [4.3.0] - 2022-09-25 ### Added - Add inlay hints for `\label{...}` ([#753](latex-lsp/texlab#753)) ### Fixed - Improve accuracy of the error locations reported by the TeX engine ([#738](latex-lsp/texlab#738)) - Reduce number of false positive errors reported by `texlab` ([#745](latex-lsp/texlab#745))
This is a Feature request.
When I start typing a command, I (normally) know what I want, so I would be able to tell texlab that I just want completions for the string which I started to write as opposed to all completions that contain the string I typed somewhere.
\ac -> ac, acs, acs* etc.
vs.
\ac -> usepackage
There may be situations where I may want fuzzy completion, but that's normally not the case, hence a configuration option
The text was updated successfully, but these errors were encountered: