Dear all
Currently the completion function for the minibuffer just picks the head of the
list of matches. The list of matches is all those in the "possibilities" which
have the current input as a substring. This usually works well, but can
sometimes render a buffer with a short name unreachable.
Consider, you open three files:
Parser.hs AParser.hs and BParser.hs
The problem is that the list has 'Parser.hs' at the end. If you try to switch
from AParser.hs to Parser.hs by typing in the full name Parser.hs and hitting
enter then it will switch to BParser.hs because this is the first match. You
then try to switch from there to Parser.hs but this time it picks AParser.hs.
So you end up going back and forth between the longer file names unable to
distinguish the shorter file name.
To solve this the mini-buffer on completion will now just return the input (ie
what is in the minibuffer) if that matches exactly any of the possibilities, if
it doesn't then we do as before and simply choose the first infix match.
regards
allan
--~--~---------~--~----~------------~-------~--~----~
Yi development mailing list
[email protected]
http://groups.google.com/group/yi-devel
-~----------~----~----~----~------~----~------~--~---
New patches:
[Fix completer for switching buffer names
[EMAIL PROTECTED]
We now take the given input (that is the contents of the minibuffer) if this
matches the completion entirely. Otherwise we do as before an just take then
first match (the first one that the input is an infix of)
] {
hunk ./Yi/MiniBuffer.hs 114
- -- The best match from the list of matches.
- best s = let ms = match s in
- case ms of
- [] -> s
- (x:_) -> x
+
+ -- The best match from the list of matches
+ -- If the string matches completely then we take that
+ -- otherwise we just take the first match.
+ best s
+ | any (== s) matches = s
+ | null matches = s
+ | otherwise = head matches
+ where matches = match s
}
Context:
[Enforce redrawing of the whole Cocoa text-view.
[EMAIL PROTECTED]
[(Partial) support for window styles in Cocoa.
[EMAIL PROTECTED]
[Launch NSThread so Cocoa knows the application is threaded.
[EMAIL PROTECTED]
[Move Cocoa style conversion into Utils
[EMAIL PROTECTED]
[Fix Cocoa attribute rendering.
[EMAIL PROTECTED]
[Simplify paintStrokes by first converting to stroke-picture
[EMAIL PROTECTED]
[Removed most Cocoa warnings (requires HOC patch)
[EMAIL PROTECTED]
[Simplify interception of Cocoa mouse selection.
[EMAIL PROTECTED]
[simplify tabs handing by using accessor functions
[EMAIL PROTECTED]
[various tiny changes
[EMAIL PROTECTED]
[fix bug with deleting region containing unicode
[EMAIL PROTECTED]
[warnings
[EMAIL PROTECTED]
[Make some order in the example config files
[EMAIL PROTECTED]
[Haddock comments
[EMAIL PROTECTED]
[makefile updates
[EMAIL PROTECTED]
[various
[EMAIL PROTECTED]
[large improvements to latex mode
[EMAIL PROTECTED]
[cleanups
[EMAIL PROTECTED]
[more stuff in syntax library
[EMAIL PROTECTED]
[improvements on precise haskell mode
[EMAIL PROTECTED]
[add stub for more precise haskell mode
[EMAIL PROTECTED]
[improve precision of haskell lexing
[EMAIL PROTECTED]
[Haskell: shuffle stuff around
[EMAIL PROTECTED]
[small improvements in Syntax.Paren
[EMAIL PROTECTED]
[use modifyRegionClever to fill paragraphs
[EMAIL PROTECTED]
[add modifyRegionClever
[EMAIL PROTECTED]
[warnings
[EMAIL PROTECTED]
[improvements to GHCi mode
[EMAIL PROTECTED]
[Lexer.Perl - Support custom delimiter for qw operator.
[EMAIL PROTECTED]
[Better seperation between tab bar description and VTY rendering. Changed how VTY indicates tab focus.
[EMAIL PROTECTED]
[Tab bar displays the name of current buffer for each tab. Still needs work.
[EMAIL PROTECTED]
[Factor some code related to how to present the tab bar from UI.Vty to UI.TabBar
[EMAIL PROTECTED]
[f the last window is closed in a tab then try to close the tab. Don't always quit the editor.
[EMAIL PROTECTED]
[Using viWriteTo for just ":w" results in the buffer name having a "<1>" appened. Fixed?
[EMAIL PROTECTED]
I imagine the use of viWriteTo for ":w" and ":w <path>" was done for a reason. However, the behavior
results in the buffer name, after save, gaining a "<1>" Which is odd.
If somebody knows the reason why the original behavior should be used then I'd like to know.
]
[Initial tab bar UI. No hint is provided as to what a tab contains. UI.Vty only.
[EMAIL PROTECTED]
[Initial support for Vim-like tabs.
[EMAIL PROTECTED]
Limitations:
* Only the Vim keymap has a UI to create and move between tabs.
:tabnew does not yet accept a file path.
* No tab-bar in UI. I'm pretty sure I know how to add an OK Vty one, but haven't a clue about
GTK or Cocoa
* Introduced some bugs?
]
[Support setting the background color of the GTK UI. The darkBlueTheme almost looks correct.
[EMAIL PROTECTED]
[Simplifying UI.Vty slightly: configStyle not redundantly passed into scrollAndRenderWindow
[EMAIL PROTECTED]
[Fix window-local selection marks.
[EMAIL PROTECTED]
[Extend window-local marks with selection marks
[EMAIL PROTECTED]
[Fix focus transfer on window creation (and cleanup)
[EMAIL PROTECTED]
[Cocoa cleanups.
[EMAIL PROTECTED]
[Support window-local marks in Cocoa
[EMAIL PROTECTED]
[Fix the system of window-local marks
[EMAIL PROTECTED]
[Use Cocoa built-in line truncation.
[EMAIL PROTECTED]
[Cleanup and fix Cocoa rendering for style-less files.
[EMAIL PROTECTED]
[Vim: remove a no longer used predicate, and do some style changes.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080803095728]
[Greatly improve Python lexer
Jeff Wheeler <[EMAIL PROTECTED]>**20080803220432
This should work much better with numbers and multiline strings, especially.
]
[implement a mode where the cursor follows the window
[EMAIL PROTECTED]
[small cleanups
[EMAIL PROTECTED]
[Start very basic Python lexer
[EMAIL PROTECTED]
[oops, forgot Yi/Rectangle.hs
[EMAIL PROTECTED]
[Resolving issue 167.
[EMAIL PROTECTED]
[haskell: closing bracket should also be not indented
[EMAIL PROTECTED]
[First shot at emacs-like rectangle functions
[EMAIL PROTECTED]
[classify modules in cabal file, expose more of them.
[EMAIL PROTECTED]
[fix breakage in .examples/yi-simple.hs
[EMAIL PROTECTED]
modifyLines got renamed, but no one updated this.
]
[Lexer.Perl - Adding test cases for variables using BLOCK identifiers.
[EMAIL PROTECTED]
[Fixing support of recognizing when a BLOCK variable "identifier" ends.
[EMAIL PROTECTED]
[Adding workaround to get OK highlighting of variables like $#foo
[EMAIL PROTECTED]
[Fixing error that was thrown on the malformed perl "$}"
[EMAIL PROTECTED]
[Adding the perl file I've been using to test Lexer.Perl
[EMAIL PROTECTED]
Built from a bunch of snippets pulled from the Perl man pages.
]
[Lexer.Perl improvements.
[EMAIL PROTECTED]
Improved recognition of regex quotes. Still error prone.
Support for brackets in variable tokens.
Numbers are styled with the numberStyle.
Fixed bug with the recognition of the second part of a substitution regex quote.
The heredoc start word was too strict. Fixed.
Some extra comments.
Small simplifications.
]
[fix Shim
[EMAIL PROTECTED]
[Make sure the prev-char is correct when we restart lexing
[EMAIL PROTECTED]
[tiny fix in Syntax.Paren
[EMAIL PROTECTED]
[When updating the highlight cache the index to start the highlighter on should be the start of a line so alex rules with a left context matching sol work.
[EMAIL PROTECTED]
[also put extended-vim in the distribution
[EMAIL PROTECTED]
[more stuff in example/yi.hs
[EMAIL PROTECTED]
[add style library to Yi
[EMAIL PROTECTED]
[simplify the dark theme a little
[EMAIL PROTECTED]
(this illustrates how the attributes are combined with default)
]
[remove darcs' test option
[EMAIL PROTECTED]
[warnings and comments
[EMAIL PROTECTED]
[remove workaround in getStrokes
[EMAIL PROTECTED]
[fix paintStrokes
[EMAIL PROTECTED]
[Refactoring Style.overloadForeground to Style.withFg
[EMAIL PROTECTED]
[Updating the yi-extended-vim.hs example from my current yi.hs.
[EMAIL PROTECTED]
[Adding Yi.Style.Library to contain definitions of various style themes.
[EMAIL PROTECTED]
[Refactor and comment the changes to strokesRangesBI
[EMAIL PROTECTED]
[When updating the highlight cache the index to start the highlighter on should be the start of a line so alex rules with a left context matching sol work.
[EMAIL PROTECTED]
[Lexer.Perl work - Preventing s#foo#bar# from being recognized as a comment.
[EMAIL PROTECTED]
[UI.Vty - Any area displayed that is after any buffer contents but before the EOF line should be filled with the window style not the default style.
[EMAIL PROTECTED]
[Changed how the style for some tokens was provided in the Perl lexer to not overwrite the background of whatever style the user has specified.
[EMAIL PROTECTED]
[If a highlighter does not provide styled strokes for a region then the defaultStyle should be used (Questionable)
[EMAIL PROTECTED]
1. I would have thought that creating a lower with the lowest priority that was a stroke from the
start of the requested region to the end style with the defaultStyle would have implemented this
feature. However, that had no effect; At least using the vty UI. So the fillInGapsWithDefaultStyle
hack was required.
2. maybe the window style should be used instead of the default style?
]
[add makefile rule to create pdfs
[EMAIL PROTECTED]
[use line-buffering for communication with subprocesses
[EMAIL PROTECTED]
[Reimplement Cocoa attributes using paintStrokes and cache more aggresively.
[EMAIL PROTECTED]
[Attempt to bridge Cocoa and Haskell termination.
[EMAIL PROTECTED]
[Structure Cocoa implementation in several files.
[EMAIL PROTECTED]
[Fix bug introduced by: put all IO state in an MVar
[EMAIL PROTECTED]
[Fix Cocoa for configurable highlighting
[EMAIL PROTECTED]
[Add draft slides for Hask'08
[EMAIL PROTECTED]
[remove misleading text in scratch buffer
[EMAIL PROTECTED]
[further improvement of indentation (haskell)
[EMAIL PROTECTED]
[Haskell: improve guessing of indentation
[EMAIL PROTECTED]
[Haskell mode: rename haskellMode and cleverMode; fiddle with imports
[EMAIL PROTECTED]
[Keymap: ViVar: make all fields strict
[EMAIL PROTECTED]
[dired: use fundamental mode from config
[EMAIL PROTECTED]
[switchBufferE: propose non-open buffers first.
[EMAIL PROTECTED]
[put all IO state in an MVar
[EMAIL PROTECTED]
[interactive shell
[EMAIL PROTECTED]
[Vim: Rollback to the correnct semantics of i_CTRL-W.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080731192031]
[refactor ViWord boundaries.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080731191851]
[Vim: when the searched pattern is not found, save it anyway.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080730112752]
[Vim: style
Nicolas Pouillard <[EMAIL PROTECTED]>**20080730112513]
[Vim: add count support for 'r'.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080730112406]
[Move the EditorM definition closer to the Editor definition.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080726165336]
[doSearch now returns a status instead of failing.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080726165232]
[Buffer: add a 'writeN' function.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080726122205]
[Vim: use dropSpace.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080730100457]
[Vim: remove an outdated NOTE.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080730095631]
[Vim: warnings.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080730095524]
[LiterateHaskell: take advantage of the "^" support in lexers.
Nicolas Pouillard <[EMAIL PROTECTED]>**20080730095115]
[More stuff in example yi.hs
[EMAIL PROTECTED]
* unicode
* increase and decrease indent
]
[make the highlighting colors configurable
[EMAIL PROTECTED]
[change the buffer name when we write to new file
[EMAIL PROTECTED]
[rename: modifyLines -> mapLines
[EMAIL PROTECTED]
[Perl lexer - Adding basic regex support. Produces at least sane output on the ugliest 4K file I had on hand.
[EMAIL PROTECTED]
[Perl lexer - Basic perldoc support. Adding some missing reserved words as well.
[EMAIL PROTECTED]
[Perl lexer - backticks and double quotes are both handled as interpolating strings. Mostly correct.
[EMAIL PROTECTED]
[Perl lexer - Fixing escapes in strings. Comments.
[EMAIL PROTECTED]
[Adding a partially working Perl lexer. Had to modify the Alex support in order to get it to work.
[EMAIL PROTECTED]
[Adding Yi.Mode.Interactive to yi.cabal to fix linker errors.
[EMAIL PROTECTED]
[use interactive mode for ghci.
[EMAIL PROTECTED]
[add Interactive mode; rename stuff.
[EMAIL PROTECTED]
[remove pString from Vim keymap (moved to Keymap.Keys)
[EMAIL PROTECTED]
[add functions to change the gravity of a mark
[EMAIL PROTECTED]
[format and warnings
[EMAIL PROTECTED]
[example: add stuff for typing greek in latex style
[EMAIL PROTECTED]
[fix fwriteToE
[EMAIL PROTECTED]
[Haskell: also indent lines starting with =
[EMAIL PROTECTED]
[Haskell: indent lines starting with pipe '|'
[EMAIL PROTECTED]
[Haskell: more precise reserved op type
[EMAIL PROTECTED]
[emacs: quit: C-g can also cancel quit.
[EMAIL PROTECTED]
[Haskell mode: support for CPP directives
[EMAIL PROTECTED]
[Alex: support 'inputPrevChar'
[EMAIL PROTECTED]
essentially this means we can use '^' to indicate
beginning of line in Alex definitions.
]
[Space is added globally for all minibuffer prompts; don't add any useless one
[EMAIL PROTECTED]
[Implementing movement to given percent in buffer: '%' cmd.
[EMAIL PROTECTED]
Does not handle movement to percents with greater than 1 digit.
]
[Adding comments about singleCmdFM and reformating 'Y' cmd implemetation
[EMAIL PROTECTED]
[Implement 'Y' in Keymap.Vim
[EMAIL PROTECTED]
[oops; escKey -> KEsc
[EMAIL PROTECTED]
[makefile tags oops
[EMAIL PROTECTED]
Apologies to emacs users. emacs TAGS files now generated. Top level files
included. Loose LHS variable gone
]
[tiny refactoring and reformatting in the Vim keymap
[EMAIL PROTECTED]
[update Contributors
[EMAIL PROTECTED]
[i_Ctrl-C
[EMAIL PROTECTED]
Ctrl-C is also a valid way of leaving insert mode.
]
[vim 7.0 (at least for me) expects the tags file to be sorted. Hasktags doesn't sort the tags file properly. The fix is to add a header to the tags file to indicate to vim that it isn't sorted. This does that.
[EMAIL PROTECTED]
vim tags fix
]
[implement sortLines
[EMAIL PROTECTED]
[update AUTHORS
[EMAIL PROTECTED]
[dired: 'q' closes the buffer
[EMAIL PROTECTED]
[Resolves issues 100, 157 and 134?
[EMAIL PROTECTED]
The boundaries for Vi words handle newline differently than other whitespace.
The ViWord atBoundary method handles boundaries at the end of the buffer better.
I don't think this is 100% correct behavior WRT newlines, but better.
]
[bump version number
[EMAIL PROTECTED]
[TAG 0.4.3
[EMAIL PROTECTED]
[bump version number
[EMAIL PROTECTED]
[Adding example of extending the Vim insert keymap. Small changes to Keymap.Vim to get example to work.
[EMAIL PROTECTED]
[allows ins_mode to be overridden by itself in the Vim keymap
[EMAIL PROTECTED]
[Haskell.x: add a rule to match `op` style operators
[EMAIL PROTECTED]
[don't care about warnings in Alex-generated code
[EMAIL PROTECTED]
[rework main loop:
[EMAIL PROTECTED]
interact takes a list of Actions at a time
]
[implement grep/find
[EMAIL PROTECTED]
[fix recording pendingEvents
[EMAIL PROTECTED]
[compilation: also jump from the beginning of the message (col 0)
[EMAIL PROTECTED]
[comments
[EMAIL PROTECTED]
[Fix search-replace (emacs)
[EMAIL PROTECTED]
[vty: make sure the cursor is in the correct position in minibufs
[EMAIL PROTECTED]
[haskell'08: Publishing fixes
[EMAIL PROTECTED]
[FingerString -> ByteRope
[EMAIL PROTECTED]
[Haskell.x: generate bigger tokens inside {- -}
[EMAIL PROTECTED]
[oops, forgot Buffer.hs-boot
[EMAIL PROTECTED]
[comments
[EMAIL PROTECTED]
[Don't store intermediate results in cache
[EMAIL PROTECTED]
[update makefile
[EMAIL PROTECTED]
* add rule to help configuration for profiling
* remove obsolete stuff
]
[Move indentSettings to Config
[EMAIL PROTECTED]
* Also set more reasonable indentsettings:
GHC expects tabs to be 8 chars.
]
[update activity.log
[EMAIL PROTECTED]
[cleanup shiftIndentOf*
[EMAIL PROTECTED]
[Indent -> Buffer.Indent
[EMAIL PROTECTED]
[fix emptyRegex
[EMAIL PROTECTED]
[Make all FBuffer fields strict
[EMAIL PROTECTED]
[add makefile rule to generate .ps file out of .hp memory profile
[EMAIL PROTECTED]
[remove obsolete Emacs.Keys module
[EMAIL PROTECTED]
[README improvements
[EMAIL PROTECTED]
[Updated the emacs key bindings to use the key combinators
[EMAIL PROTECTED]
[Added a couple of key synonyms
[EMAIL PROTECTED]
[bump version number
[EMAIL PROTECTED]
[TAG 0.4.1
[EMAIL PROTECTED]
Patch bundle hash:
e1f00293319fc8e407fe97986b30afb1e6b2b932