-
-
Notifications
You must be signed in to change notification settings - Fork 307
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
editor: move completion functions #4025
Conversation
Hey flatcap, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent, this is now so much clearer (at least in my head).
It's great that each user (alias, browser etc) manages their own completion function, without needing too much logic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent, this is now so much clearer (at least in my head).
It's great that each user (alias, browser etc) manages their own completion function, without needing too much logic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent, this is now so much clearer (at least in my head).
It's great that each user (alias, browser etc) manages their own completion function, without needing too much logic.
just one thing I spotted when compiling:
how would i best submit tiny patches like this? |
Hmm... I don't understand. Lines 121 to 124 in b99bce7
should be fine, because the file includes Line 33 in b99bce7
which includes Line 87 in b99bce7
which declares Line 49 in b99bce7
I can't repeat the error myself with gcc or clang.
if you can figure out what's happened, push a commit to this branch.
Generally, feel free to create/add to a branch |
Fair enough, it is gone on my side as well, after |
Ah found it: I have rebased my dev branch on this pull request to get started. |
NOTE: this is working, but I need to do some more testing.
Deep within libenter there are lots of dependencies caused by auto-completion and history.
Users call
mw_get_field()
with arguments likeCOMP_ALIAS
which determine which completion function to use and where to save the history.Worse still is the fact that the alias code is in libenter.
and browser code and notmuch code and pattern code...
This PR creates a basic Completion API that passes in a function to do the work.
It should help with: #3955 Neomutt completion API
All the functions on the right are now in more appropriate places.
The abstraction isn't perfect, but it's a step forward.
Source: graphviz, svg