Comments (8)
case-fold-search
makes search case insensitive, right? orderless
already obeys the standard completion-ignore-case
variable.
from orderless.
orderless already obeys the standard completion-ignore-case variable.
Thanks for pointing me to this. Would be nice if smart case ("i" matches "i" and "I", "I" matches only "I") was a possibility, but maybe that is outside the scope of this package.
from orderless.
I guess one way I could do this is to advise orderless-default-pattern-compiler
to set completion-ignore-case
based on whether the pattern contains any capital letters. And then I could maybe advise completing-read
to let bind completion-ignore-case
to prevent this from affecting the global value. Do you have any ideas for a better method?
from orderless.
I think it worth adding directly to orderless
. Let's just think about what the best behavior and interface is.
You described smart case as meaning "i" matches "[iI]" and "I" matches "I". I don't think any commands in Emacs behave in that way. The other behavior you mentioned in your last comment I think is what isearch
does by default:
- if there are only lowercase letters in the search string, then matching is case insensitive
- if there is any uppercase letter at all, then matching is case sensitive.
The difference is that with your first description "It" would match "I[tT]", but what isearch does is match "It".
I think the isearch thing is probably the behavior we should go for: it will be familiar to users and as a bonus, is easier to implement (with your strategy of locally binding completion-ignore-case
).
Now, for the interface to activate this, how about using the same search-upper-case
variable that isearch uses? Or, if that's too sneaky, we can add a new orderless-search-upper-case
variable (I don't like the name that much, but since isearch uses it I feel it is "standard").
from orderless.
Mmh, maybe the least confusing way is a new orderless-smart-case
variable. When t
it overrides completion-ignore-case
(and read-file-name-completion-ignore-case
, read-buffer-name-completion-case
, too), when nil
those variables are respected.
from orderless.
I implemented this (with an orderless-smart-case
variable) in the smart-case branch (bc9e482). Please test and read the docstring for the new variable to make sure it is clear.
from orderless.
I think the isearch thing is probably the behavior we should go for
Yes, this is the behavior I want. I just described it badly at first.
I implemented this (with an orderless-smart-case variable) in the smart-case branch (bc9e482). Please test and read the docstring for the new variable to make sure it is clear.
Thanks! It works as expected for me, and the documentation is clear.
from orderless.
Excellent, I will merge this into master and tag a release for MELPA stable.
from orderless.
Related Issues (20)
- Release new version 0.8 on GNU ELPA HOT 7
- Completion variables recommended configuration HOT 3
- Orderless never returns a sole match for `switch-to-buffer` HOT 2
- Non-greedy match for orderless-flex? HOT 9
- Prescient defines a completion style
- How do I dispatch filtering on a suffix? HOT 3
- Ido or icomplete HOT 2
- Multiple matches, and/or over specifying candidates HOT 2
- I can't get the suggsted configuration for integration with Company to work. HOT 3
- Confusing highlighting when using `orderless-flex` style HOT 3
- Orderless with a single component HOT 3
- possible bug in completion style for repeated pattern HOT 12
- It doesn't seem to affect `C-x b` the same way as, e.g., `M-x` HOT 2
- Add simple affix dispatcher HOT 11
- I've been thinking about using it for Embark and maybe removing the `embark-define-keymap` macro in favor of `defvar-keymap`. HOT 1
- FEATURE REQUEST: Consider making your personal configuration the default (doc does not help get to that solution) HOT 8
- How to disable orderless for company or corfu HOT 8
- Get file basename? HOT 19
- Use company, orderless, company-fuzzy, auctex, and ispell all together. HOT 6
- Orderless doesn't work as desired. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orderless.