Starting with tag: [TAG yi-0.1.0 Don Stewart **20050328033822] [Note that autoreconf is only required if buliding the darcs repo Don Stewart **20050329001239] [Import yi+syn code. Compiles, but not hooked in yet. More work needed. Don Stewart **20050402045427] [Add missing ^L in Vi mode. Don Stewart **20050404072045] [Record some buglets pointed out by desrt Don Stewart **20050404073043] [Fix missing $(way_) var that was breaking prof Don Stewart **20050410102346] [Emacs - new approach Zapf@students.uni-marburg.de**20050410102103] [--as=emacs enabled Don Stewart **20050410112645] [Show instance for EmacsState, some abstraction Zapf@students.uni-marburg.de**20050411140339] [Add more explicit autoreconf warning Don Stewart **20050417012154] [Move the autoreconf warning higher Don Stewart **20050417012424] [Add support for delete/backspace in Emacs frontend Samuel Bronson **20050417041935] [Import lambdabot's Map compat module Don Stewart **20050420075254] [Implement full :reboot. All state is restored. ghc 6.2.2 only for now. Don Stewart **20050422054712 hs-plugins load/unloadPackage seems to be broken with 6.4 ] [Get rid of debug msg Don Stewart **20050422055341] [Handle missing config data gracefully Don Stewart **20050422082833] [Have :reboot work with ghc 6.4 Don Stewart **20050422082902] [build tweaks, include make clean FAST=1 Don Stewart **20050422084419] [un-.hsc-ify MkTemp. Remove posix dependency Don Stewart **20050425032401] [Build system tweaks Don Stewart **20050425032427] [Boot.hs depends on -package posix sitll :/ Don Stewart **20050425043556] [Add -threaded Don Stewart **20050426044217] [Implement pipeE :: String -> IO String, for sending chunks of text through external commands. Add :.!foo to vim mode Don Stewart **20050426044235] [Import lambdabot's Posix/POpen compat lib Don Stewart **20050426084752] [Clean up pipeE, standard :.! behaves like vi/vim now. Add String.h for string utilities Don Stewart **20050427024822] [Arrow keys for movement in vim insert mode Don Stewart **20050430012215] [Implement :new in vim mode Don Stewart **20050430020352] [Add some vim mode todos Don Stewart **20050430021013] [Notes on :! Don Stewart **20050430021040] [Comments Don Stewart **20050430021101] [Add darcs patch count, repo path and ghc version to --version output Don Stewart **20050430024724] [Added preliminary joe bindings. Tuomo Valkonen **20041128182450] [Improved joe-mode queries. Tuomo Valkonen **20041129064244] [Added joe to list of available emulations. Tuomo Valkonen **20041130195114] [Joe mode query improvements. Tuomo Valkonen **20041201125143] [Added word skipping bindings to joe mode. Tuomo Valkonen **20041201135117] [Added ^KZ binding to joe mode. Tuomo Valkonen **20041202064847] [Updated joe mode to CharMov -> CharMove. Tuomo Valkonen **20041202065602] [Some joe-mode fine-tuning. Tuomo Valkonen **20041207204522] [Joe keymap updates. Tuomo Valkonen **20050328125829] [Resolved conflicts. Tuomo Valkonen **20050430090151] [Separated keymap building code from Joe mode into Yi.MakeKeymap. Tuomo Valkonen **20050430094751 Also moved some character classification and remapping routines to Yi.Char module. ] [Use Yi.Map instead of Data.FiniteMap. Tuomo Valkonen **20050430100356] [Add Joe and MakeKeymap to exported modules Don Stewart **20050430101317] [Fix refresh bug on linux, make sure to reinit curses after resize Don Stewart **20050430112917] [cpp wrong in ^L fix Don Stewart **20050430125018] [Fix ^L, this time for sure. Don Stewart **20050430134641] [Fixed behaviour of backspace at start of buffer in Vim mode. cgibbard@gmail.com**20050430030259] [Made home/end work in insert/replace mode. Changed behaviour of backspace in replace mode. (Vim) cgibbard@gmail.com**20050430081744] [Removed seemingly spurious leftward movement when switching out of insert mode. cgibbard@gmail.com**20050430082013] [Fix '~' in vim mode to work like it does in vim. Suleiman Souhlal **20050430175241] [Whitespace only Don Stewart **20050501005847] [-ignore-dot-ghci in configure tests Don Stewart **20050501025552] [Added state threading to MakeKeymap. Tuomo Valkonen **20050504103752] [Improved search routines. Tuomo Valkonen **20050504132809 Yi.Core exports initSearchE, and doSearchE that returns the match. ] [Improved Joe mode search/replace. Tuomo Valkonen **20050504151734] [Remove M-' ' that sneaks in sometimes, breaking haddock Don Stewart **20050505002204] [Switch to new System.Plugins module name Don Stewart **20050515081139] [Generate configure and mk/config.h.in. One less dep. Don Stewart **20050516020457] [don't rm configure and config.h.in on distclean Don Stewart **20050516020822] [Don't use ghci in configure.ac - non-portable. Pointed out by dcoutts Don Stewart **20050517043144] [invert test. ifeq 604 => ifneq 602. supports ghc 605 dons@cse.unsw.edu.au**20050517044104] [Make sure UI.hs can see YiCurses.h. Needed for -fvia-C Don Stewart **20050517054637] [Clarify why -fvia-C doesn't work with 6.4 Don Stewart **20050517055653] [Idea of darcs integration into yi Don Stewart **20050517055717] [Start on 'ee' interface Don Stewart **20050522135602] [force a.out for GLASGOW_HASKELL test so windows works vivian.mcphail@paradise.net.nz**20050530122809] [Regen configure Don Stewart **20050530123448] [Emacs mode, work in progress Zapf@students.uni-marburg.de**20050605072524 This is how Emacs mode is progressing, it's now possible to reflect key bindings, and repetition should be in reach too. It doesn't have "dialogs" yet, though i think this won't be as much of a problem. Next refactoring will be putting a dynamic "ReflectableAction" handler into the state. ] [missing emacs.hs Zapf@students.uni-marburg.de**20050605081616] [Emacs.hs next try Zapf@students.uni-marburg.de**20050605083326] [Reset terminal properly on linux. Old fix was broken in 6.4 dons@cse.unsw.edu.au**20050612091040] [Fix haddock docs dons@cse.unsw.edu.au**20050612092205] [Nairobi Zapf@students.uni-marburg.de**20050613182625 Further Refactoring done, some extension to functionality (close to repeat now, work on bottom line dialogs can start soon). Commented stuff and threw out bizarro remnants from former versions. ] [misc wibbles Don Stewart **20050610132225] [extra todos Don Stewart **20050613034141] [Peanut Zapf@students.uni-marburg.de**20050701160056 Another red-hot patch for the Emacs Keymap. News: - Some more abstraction necissary for Bottom Line Feedback - Bottom Line Feedback works, in principle - Repeat works (C-u, you still need to type RET to complete your input. If its stuck, escape via unbound keys or C-x) ] [remind darcs users to set the configure script to executable. Jason Dagit **20050707040025] [Or --set-scripts-executable dons@cse.unsw.edu.au**20050707045234] [Alternative emacs emulation Jean-Philippe Bernardy **20050720144903] [better comments Jean-Philippe Bernardy **20050720150350] [Make sure Emacs2 is exposed dons@cse.unsw.edu.au**20050721011447] [update configure Don Stewart **20050721030133] [Add "P" to vim mode Don Stewart **20050721030146] [mergeo Don Stewart **20050721030243] [Add mg emulation, and emacs-alike from OpenBSD Don Stewart **20050721030251] [Add license to Emacs2.hs Don Stewart **20050722023927] [Add meta commands to mg mode Don Stewart **20050722044915] [Debug escape issue Don Stewart **20050722044941] [Also debug escape issue Don Stewart **20050722045033] [Missing -Imk in Makefile Don Stewart **20050722070054] [More ncurses bindings Don Stewart **20050722070114] [Detect M- key when meta bit is set, map ESC- to M- when necessary, in Mg mode. Don Stewart **20050722070130] [Comment out Debug.Trace dons@cse.unsw.edu.au**20050722070720] [Misc build tweaks dons@cse.unsw.edu.au**20050722071201] [Add `with' as a synonym for Just (Right a) Don Stewart **20050723070123] [Add swapE (C-t in emacs) as a core action Don Stewart **20050723070143] [lowercaseWordE, uppercaseWordE, capitaliseWordE Don Stewart **20050723070207] [swapE is in the core now, move it out of Emacs2.hs Don Stewart **20050723070229] [Lots more Mg, including M-x foo, and properly map chars to extended names Don Stewart **20050723070313] [Mergeo Don Stewart **20050723070606] [Build with -Wall dons@cse.unsw.edu.au**20050723071333] [Set nl True in ncurses Don Stewart **20050723081945] [Implement describe-key-briefly in Mg.hs Don Stewart **20050723082000] [Implement describe-bindings Don Stewart **20050723083311] [Build with -Wall dons@cse.unsw.edu.au**20050723084020] [Monadic framework for keymap jeanphilippe.bernardy@gmail.com**20050722120142] [Enable mtl usage jeanphilippe.bernardy@gmail.com**20050722123230] [Emacs2 sync jeanphilippe.bernardy@gmail.com**20050723210515] [Editor Plugs jeanphilippe.bernardy@gmail.com**20050723202054] [Move Meta-related tests in Char.hs Don Stewart **20050724014933] [change `plugs' to `dynamic', e.g. setPlugs -> setDynamic, and comment extensible state code Don Stewart **20050724021209] [More explanation of how bit 7 can be used to simulate the meta key Don Stewart **20050724030853] [Extend copyright to 2005 Don Stewart **20050724033603] [Implement newBufferE and closeOtherE Don Stewart **20050724033617] [Implement close-other, find-file, write-file and refactor Mg.hs Don Stewart **20050724033657] [Add fileNameE :: IO FilePath Don Stewart **20050724035059] [Implement save-buffer and delete-blank-lines Don Stewart **20050724035118] [Remove redundant -threaded Don Stewart **20050724040130] [Compile with -Wall Don Stewart **20050724040145] [implement quoted-insert Don Stewart **20050724042844] [Fix C-x C-c Don Stewart **20050724043045] [Keyboard quit in prompts Don Stewart **20050724043702] [Comment about resizing windows Don Stewart **20050724065327] [Implement goto-line Don Stewart **20050724065336] [fix haddock dons@cse.unsw.edu.au**20050724070148] [bug fix for dynamic editor state jeanphilippe.bernardy@gmail.com**20050724132727] [enhanced to use dynamics jeanphilippe.bernardy@gmail.com**20050724140358] [Comment where we'd stick a read-only bit Don Stewart **20050725060350] [Fix ncurses cursor placement in presence of unbalanced windows Don Stewart **20050725060411] [Tag where undo boundaries would go Don Stewart **20050725060445] [comments onlyy Don Stewart **20050725060506] [implement window-shrink and window-grow Don Stewart **20050725060518] [-Wall police Don Stewart **20050725060748] [Initialization of dynamics is now in IO jeanphilippe.bernardy@gmail.com**20050724195610] [Emacs2 mode advances jeanphilippe.bernardy@gmail.com**20050725140242] [Comment nextBufW, prevBufW a bit better Don Stewart **20050726014622] [Call ncurses.meta at start up, hopefully gets 8 bits from bad terminals Don Stewart **20050726014646] [More Mg.hs Don Stewart **20050726030810] [Comments Don Stewart **20050726102048] [Implement listBuffersE, closeBufferE Don Stewart **20050726102101] [Fix capitalise, upperise and lowerise Don Stewart **20050726121012] [Emacs2 now uses Mg way to handle meta; parser fo jeanphilippe.bernardy@gmail.com**20050725224224] [more Emacs2 commands jeanphilippe.bernardy@gmail.com**20050726223037] [Fix -Wall. Typo in Emacs2.hs dons@cse.unsw.edu.au**20050727012146] [Typo Don Stewart **20050727020653] [Move dropSpace into CharMove (for now) Don Stewart **20050727020702] [Implement readAllE, setWinE Don Stewart **20050727020727] [Clean up Mg.hs Don Stewart **20050727020751] [Cleanup C-x C-f implementation in Emacs2.hs Don Stewart **20050727020802] [Implement :$ in vi and vim mode Don Stewart **20050727021243] [Add new filename field to Buffer type, and filenameE primitive Don Stewart **20050727032918 We can now distinguish between buffers that are connected to a file, and those that are not (like *sratch* or mini buffers). The consequences are that buffers have both names (via bufNameE) and filenames (fileNameE). The name is used internally, the file name is used when writing. Using fwriteToE on a buffer with no filename sets the filename for that buffer. It is an error to call fwriteE on a buffer with no filename connected to it. ] [Cleaner implementation of killBufferE Don Stewart **20050727035330] [And modify Mg.hs to use killBufferE with listBuffers Don Stewart **20050727035344] [User-configurable character to fill empty lines, '~' in vi mode Don Stewart **20050727040331] [Some clean ups of Editor.hs Don Stewart **20050727095117] [Some more commands in Emacs2; incl. C-v jeanphilippe.bernardy@gmail.com**20050727125658] [Support for marks in buffers jeanphilippe.bernardy@gmail.com**20050727151811] [editor functions to handle the mark jeanphilippe.bernardy@gmail.com**20050727151915] [basic mark handling in Emacs2 jeanphilippe.bernardy@gmail.com**20050727151948] [Fix haddock builds dons@cse.unsw.edu.au**20050728001701] [Generalised deleteN to any position in buffer jeanphilippe.bernardy@gmail.com**20050728220701] [Added ability to delete text at any position jeanphilippe.bernardy@gmail.com**20050728220848] [Arbitrary region handling jeanphilippe.bernardy@gmail.com**20050728221152] [Killring infrastructure added jeanphilippe.bernardy@gmail.com**20050728221337] [kill region & yank added to emacs2 jeanphilippe.bernardy@gmail.com**20050728221408] [Make the absence of libiconv a fatal configure error Don Stewart **20050729103807] [back out iconv test, until I think about it again Don Stewart **20050729121806] [Make a synonym for `i' in vim Don Stewart **20050730004453] [ is keyIC not keySIC Don Stewart **20050730005354] [Don't use ncurses hack anymore Don Stewart **20050730013715] [comment only Don Stewart **20050730013730] [Better test for iconv Don Stewart **20050730030700] [Solve iconv issue -- remove iconv, since we don't use it for anything Don Stewart **20050730032251] [`#import' is not haskell syntax :} Don Stewart **20050730033236] [Fix building with ghc 6.2.2 Don Stewart **20050730040025] [Update readme in light of new hs-plugins dependencies Don Stewart **20050730041414] [Move Killring.hs -> KillRing.hs Don Stewart **20050730042337] [Add KillRing.hs Don Stewart **20050730042532] [Improve mg documentation Don Stewart **20050730044709] [Investigate getDynamic typing issue further Don Stewart **20050731011316] [alpha-rename tyvars, fixes ghc 6.4 build :/ Don Stewart **20050731011920] [What do we need the explicit quantification for? Don Stewart **20050731021529] [Simplified deleteNAtW, removed nonsensical comments jeanphilippe.bernardy@gmail.com**20050730212345] [emacs2: kill-line implemented jeanphilippe.bernardy@gmail.com**20050730220325] [Fixed accumulation in killring jeanphilippe.bernardy@gmail.com**20050731065858] [Reorganisation of Emacs keymap jeanphilippe.bernardy@gmail.com**20050731091734] [faster multi-char insertion jeanphilippe.bernardy@gmail.com**20050731134353] [C-M-w, and comments in killring jeanphilippe.bernardy@gmail.com**20050731140526] [q jeanphilippe.bernardy@gmail.com**20050731142054] [added missing file: Keys parsing/formatting for emacs modes jeanphilippe.bernardy@gmail.com**20050731142131] [some more comments for Emacs2 jeanphilippe.bernardy@gmail.com**20050731142216] [moved emacs univ arg to its onwn file jeanphilippe.bernardy@gmail.com**20050731184822] [couple extra bindings for emacs2 jeanphilippe.bernardy@gmail.com**20050731213232] [remove unnec. withWindow_ around insertE Don Stewart **20050803084026] [make Window.update a little faster Don Stewart **20050803084046] [Don't fill the screen when we have a blank screen, just move the cursor Don Stewart **20050803084120] [Fix build with 6.2.2 Don Stewart **20050803084234] [kill extra whitespace Don Stewart **20050803084247] [Fix stupid getCh (would probably improve graphs in yi paper too :/ Don Stewart **20050803090318] [Improve getCh some more Don Stewart **20050803100636] [Brush Zapf@students.uni-marburg.de**20050803163403 new: - A general Completion interface (which is still a little ugly) - C-t lets you test it in the Emacs keymap. You will complete with tab on Yi-Emacs' Keymap entrys. There are only a few of these. Try "C-t" and then "i". It does nothing so far, though. ] [Fix mergeo in Emacs.hs dons@cse.unsw.edu.au**20050804023403] [Bit of haddock and a license Don Stewart **20050804024445] [Regen export list in yi.conf Don Stewart **20050804024455] [Missing licenses Don Stewart **20050804025111] [Clean up Curses binding Don Stewart **20050804051037] [Comments Don Stewart **20050804093151] [Remove haskell98 dependency Don Stewart **20050804093207] [Add --make to compile Main.hs, works around bug (?) in latest ghc dons@cse.unsw.edu.au**20050804112053] [Clean up --make patch dons@cse.unsw.edu.au**20050804121803] [Yi can now handle tabs correctly Don Stewart **20050805032736] [comment Don Stewart **20050805040216] [Revert fromEnumW8 code Don Stewart **20050805040221] [Really revert fromEnumW8 patch. #bool isn't always a W8 Don Stewart **20050805040725] [yi-inplace still needs haskell98 dons@cse.unsw.edu.au**20050805041834] [Print list of available interfaces in --help Don Stewart **20050805073628] [Send haddock warnings into /dev/null. Too many people complain Don Stewart **20050805073650] [Update readme, add contributors list Don Stewart **20050805080323] [sequence_ $ flip map .. == flip mapM_ Don Stewart **20050806013555] [Add test infrastructure, based on hunit system of stefan's Don Stewart **20050806041220] [Find m4 in configure, regen configure. clean testsuite properly Don Stewart **20050806042443] [More tests. Fix dependency tracking in testsuite makefile Don Stewart **20050807040239] [Test Buffer.moveTo Don Stewart **20050808010617] [More tests Don Stewart **20050808013206] [Some more todos Don Stewart **20050808025245] [Comment about lack of bounds checks in Buffer read/write Don Stewart **20050808025308] [More tests Don Stewart **20050808025324] [added IConv.hs to distclean Jason Dagit **20050808025218] [Move Iconv.hs into a variable dons@cse.unsw.edu.au**20050808030425] [Fix handling of long lines with tabs in them Don Stewart **20050808040101] [Clean up test dirs a bit. Add some C code tests Don Stewart **20050808050628] [No need for unsafePerformIO. Kindly pointed out by stefanw Don Stewart **20050808051405] [More tests Don Stewart **20050808054350] [Clean up semantics of cgotoln, after trying to implement it in Haskell Don Stewart **20050808074955] [Squash slow performace of lineDown on long lines, finally Don Stewart **20050809045443] [And also squish time leak in lineUp (though the logic is a tad ugly) Don Stewart **20050809062142] [Revert moveToSol -- it was broken anyway. Add unit test for moveTo* Don Stewart **20050809063449] [Really fix moveToSol --fast! Don Stewart **20050809065103] [Bit harder buffer movement test Don Stewart **20050809065321] [More tests dons@cse.unsw.edu.au**20050810052812] [More tests dons@cse.unsw.edu.au**20050810053140] [More tests++ dons@cse.unsw.edu.au**20050810060711] [Keep testing Don Stewart **20050810064326] [And finish testing C code, with extra comments Don Stewart **20050810065508] [Lots more tests Don Stewart **20050811030910] [Start testing Core.hs dons@cse.unsw.edu.au**20050811093859] [Broke distclean by accident Don Stewart **20050812064706] [Substitute @prefix@ with ${PREFIX} to make it user-changeable Henning Guenther **20050813140409 This allows using "make PREFIX=... install". It's usefull if you want to install to a temporary path before merging it into the real path. This makes it possible for gentoo to use yi. ] [more rigorous test data Don Stewart **20050815012418] [kill off silly ^M in test data Don Stewart **20050815012546] [Lots more tests. Don Stewart **20050815024618] [Another test Don Stewart **20050815030751] [added a reference to make check in README Jason Dagit **20050821040943] [typo in docs Don Stewart **20050903023642] [Mention that yi is vi by default, and others with --as=foo Don Stewart **20051125021012] [wibble Don Stewart **20051208002449] [Cabal port Taral **20051207063227] [Whitespace cleanup Taral **20051207063351] [Setup.lhs Don Stewart **20051208002810] [s/unix/mtl/ and update readme Don Stewart **20051208003805] [Make make/configure work, better clean Taral **20051208002328] [Use more canonical `runhaskell' and Setup.lhs Don Stewart **20051208004407] [Import mini-curses binding from hmp3, simplify simplify simplify dons@cse.unsw.edu.au**20051209023033] [Remove 6.2.2 Map compatibility dons@cse.unsw.edu.au**20051209023703] [import faster UI.drawLine from hmp3 dons@cse.unsw.edu.au**20051209030146] [Remember to clrtoeol dons@cse.unsw.edu.au**20051209031325] [Update to latest version of FPS alson@alsonkemp.com**20060510031018] [Migrate from FastPackedString to ByteString. Spencer Janssen **20060516050119] [updated configure, fixed haddock andrii.z@gmail.com**20060517081742 updated configure.ac from refering to Setup.hs to Setup.lhs updated Makefile to include "make html" to make documentation as in README fixed Curses.hsc so "make html" would work ] [added a vimacs keymap a.d.clark@ed.ac.uk**20060624181914] [Fixed a small bug where if the empty lines character was a space and we used pagedn then the old page was drawn on the rest of the screen. a.d.clark@ed.ac.uk**20060625103430] [Setup.lhs -> Setup.hs dons@cse.unsw.edu.au**20060626032146] [support fps 0.7 darcs version dons@cse.unsw.edu.au**20060626032205] [Added a very simple indentation helper to the Vimacs keymappings, also when writing the file a message is printed to that effect. a.d.clark@ed.ac.uk**20060628135505] [Adding highlighting of selected text. a.d.clark@ed.ac.uk**20060702210500 This patch adds the ability to highlight the text selected. It is broken down as follows: First of the ability to unset the mark is added, as a buffer function (in Yi/Buffer.hs) and as an editor action (in Yi/Core.hs), without this then the mark is always left at the last position it was set (and starts at position 0) this means that there is always some highlighted text which is somewhat annoying. After this then a selected style is added to the UIStyle data type found in Yi/Style.hs. Now because most of the keymaps do not take advantage of the new unsetMark action the new 'selected' style is set to the default style and it is up to the individual keymap to change this style, in order to allow this a new action (in Yi/Core.hs) to change the window style (setWindowStyleE) is added, this is called by the Vimacs keymap (see the bottom of the file) which sets the selected style (for the moment) to be the same as the end of file character style (since I couldn't get any other styles to work here for some reason). Perhaps when it is usual for a keymap to take advantage of the unsetMarkE action we can put the default (Yi.Style.ui) to use some highlighting style for selection rather than the default. To implement the unsetting of the mark was quite simple in FastBuffer.hs we just remove it from the integer map, when getMarkB is called, if the mark is not set then we simply return the point, this will mean that the calling function still sees the selection as being nothing. Finally implementing the actual drawing of the selected text is done in Yi/UI.hs specifically the drawWindow function, basically each line is split into 3 components, before the selection, in the selection and after the selection, although most lines only have a before or after selection part, please see the comments in the file. ] [Added a modified flag to buffer info data structure in Yi/Core.hs a.d.clark@ed.ac.uk**20060703142758 In the Vimacs keymap the modified flag is added to the message displayed on each movement command. Note: That this patch does not solve the problem of saving the file and still getting a modified flag returned. That is after modifying the buffer and saving, the modified flag is still shown, solve this we need to implement 'addBoundary' in Yi/Undo.hs ] [ModeChangeFeedBack lordbrain@riseup.net**20060806045410] [More TODO Items lordbrain@riseup.net**20060806182922] [Word movement more like Vim. lordbrain@riseup.net**20060809004705] [Make Direction an ADT Spencer Janssen **20060808212624 Instead of the partially applied Left/Right nonsense to signify direction, we now have an ADT in Yi.Core. All the keymaps are ported also. ] [Vim Keymap now uses the Direction ADT properly lordbrain@riseup.net**20060809140137] [Updated Core.insertNE so it handles strings with newlines lordbrain@riseup.net**20060811162345] [Visual Mode goodies! lordbrain@riseup.net**20060812035941 Visual Mode! =========== This patch includes standard Visual Mode only. Visual Line and Visual Block Modes will have to be added separately. Visual mode is implemented and enabled by setting cmd inside of the vimstate to be vis_mode rather than cmd_mode Visual Mode Features: * ">>" and "<<" shift entire region count times * ':' from visual mode inserts visual mode range syntax '<,'> * 'y' yanks entire region * 'x' yanks and cuts entire region * 'p' from visual mode removes selected region and pastes * 'c' like 'x', but starts insert mode * 'r':[x] replaces all characters except for new lines with x Other changes: * the ">>" shifting code now handles tabs the same way as vim which varies depending on the value of expandtabs. * normal mode pasting 'p' and 'P' now behave as in vim. That is, 'p' pastes after the cursor position, 'P' pastes at it. UI Changes: * Fixed selection display so that it handles it correctly when the mark is on the start of the line Core Changes: * getRegionE (x,y) includes both endpoints * getRegionE (x,y) behaves the same as getRegionE (y,x) ] [unsetMarkE after vis_multi commands lordbrain@riseup.net**20060812041917] [fixed >> lordbrain@riseup.net**20060812225938] [deleteNatW now includes both endpoints lordbrain@riseup.net**20060813043519] [fix highlight bug when cursor is on start of line lordbrain@riseup.net**20060813043601] [fix highlight bug when cursor is on end of line lordbrain@riseup.net**20060813053059] [Small improvements to the Emacs2 keymap jeanphilippe.bernardy@gmail.com**20061222210005 This is essentially a "re-sync" patch where I attempt to integrate changes that have been made in the Vimacs keymap. ] [Makefile now uses the correct Setup.hs name for the setup script jeanphilippe.bernardy@gmail.com**20061222210835 Also add a rule for generation of hasktag tags. ] [config.h -> ghcconfig.h jeanphilippe.bernardy@gmail.com**20061225221555] [Renamed ui to uiStyle jeanphilippe.bernardy@gmail.com**20061225222237] [Added UI witness in editor state jeanphilippe.bernardy@gmail.com**20061225222355] [Switch from Curses to Vty library jeanphilippe.bernardy@gmail.com**20061226162820] [Add Show instances for debugging jeanphilippe.bernardy@gmail.com**20061226193339] [oops, forgot Yi.UI.hs-boot jeanphilippe.bernardy@gmail.com**20061226212610] [Correctly fill the windows with the filler character jeanphilippe.bernardy@gmail.com**20061227184007] [Yi.Debug module added with file logging capabilities. seliopou@cs.brown.edu**20070102172522] [No need to do special treatment of sigINT with the new vty library jeanphilippe.bernardy@gmail.com**20061227183503] [use the new capabilities of the vty 2.0 library to support styles jeanphilippe.bernardy@gmail.com**20070106172223] [Change the keymap type so it accepts Event instead of Char jeanphilippe.bernardy@gmail.com**20061228210641] [support escape keypress jeanphilippe.bernardy@gmail.com**20070106173750] [Have a specific type for Event (do not re-use the vty one, for abstraction from the UI) jeanphilippe.bernardy@gmail.com**20070106175524] [Update the Emacs2 keymap so it handles Events directly (instead of going through Char) jeanphilippe.bernardy@gmail.com**20070107140404] [Draw window that handles line wrap jeanphilippe.bernardy@gmail.com**20061228195310] [Support for left-bounded or right-bounded marks jeanphilippe.bernardy@gmail.com**20070107100734] [Update now handles y coordinate, including scrolling jeanphilippe.bernardy@gmail.com**20070107114041] [Simplification of window code jeanphilippe.bernardy@gmail.com**20070107115404] [Merge linewrap code and vty code jeanphilippe.bernardy@gmail.com**20070107130247] [Add a makefile rule for debugging in interactive mode jeanphilippe.bernardy@gmail.com**20070107130258] [wibbles jeanphilippe.bernardy@gmail.com**20070107214339] [Factored out window update jeanphilippe.bernardy@gmail.com**20070107224206] [ghc-6.6 includes fps Yang Zhang **20070108073856] [remove warnings by introducing withBuffer jeanphilippe.bernardy@gmail.com**20070109221731] [Wibble in drawWindow jeanphilippe.bernardy@gmail.com**20070110211748] [Update the windows state only when refreshing the UI jeanphilippe.bernardy@gmail.com**20070110214732] [Compute modeline only upon refresh jeanphilippe.bernardy@gmail.com**20070111173627] [move Window.update in drawWindow jeanphilippe.bernardy@gmail.com**20070111174428] [simplify deleteToEolW jeanphilippe.bernardy@gmail.com**20070111174725] [add logPutStrLn for IO logging jeanphilippe.bernardy@gmail.com**20070113072237] [show time in log jeanphilippe.bernardy@gmail.com**20070113073927] [enhance drawText so it returns a finite map from buffer offsets to their position on the screen. jeanphilippe.bernardy@gmail.com**20070111173055] [update and refresh fused (effectively removing the need for update) jeanphilippe.bernardy@gmail.com**20070111201452] [Optimized the refresh by cacheing the point -> pos data jeanphilippe.bernardy@gmail.com**20070111205901] [couple of bug fixes in refresh jeanphilippe.bernardy@gmail.com**20070113074116] [show threadId when logging jeanphilippe.bernardy@gmail.com**20070113101914] [Wibble jeanphilippe.bernardy@gmail.com**20070113102255] [Optimise cursor refresh jeanphilippe.bernardy@gmail.com**20070113112231] [Add binding for RET in Emacs2 jeanphilippe.bernardy@gmail.com**20070113115531] [remove some more warnings jeanphilippe.bernardy@gmail.com**20070113121217] [Fix warnings and other simplifications jeanphilippe.bernardy@gmail.com**20070113121840] [Simplify leftE and rightE (and fix them) jeanphilippe.bernardy@gmail.com**20070113152012] [fixes for Emacs2 mode jeanphilippe.bernardy@gmail.com**20070113155552] [remove the useless getPointE >>= gotoPointE jeanphilippe.bernardy@gmail.com**20070113164114] [remove useless "return w" jeanphilippe.bernardy@gmail.com**20070113184348] [update TODO jeanphilippe.bernardy@gmail.com**20070113191238] [Handle (insertion at) end of file in a more natural way jeanphilippe.bernardy@gmail.com**20070114082033] [Remove more warnings and useless code jeanphilippe.bernardy@gmail.com**20070114082110] [simplification of leftE and rightE jeanphilippe.bernardy@gmail.com**20070115202504] [Factorize code out of buffer class; remove dead code jeanphilippe.bernardy@gmail.com**20070115205257] [simplify (and therefore remove) deleteNW jeanphilippe.bernardy@gmail.com**20070117214326] [take resize out the IO monad jeanphilippe.bernardy@gmail.com**20070118161446] [move the window manipulation functions to the UI module jeanphilippe.bernardy@gmail.com**20070118163752] [take deleteToEol out of buffer class, simplify it. jeanphilippe.bernardy@gmail.com**20070118170534] [factorize some more code out of the buffer class jeanphilippe.bernardy@gmail.com**20070118174627] [Move more stuff out of the buffer class jeanphilippe.bernardy@gmail.com**20070118210227] [Add a Raw buffer layer jeanphilippe.bernardy@gmail.com**20070120112306 Separate the "raw" buffer implementation from the high-level buffer implementation. Undo module is acts as an intermediate layer This paves the way for alternative buffer implementations, like gtk buffer. ] [Move more stuff to the UI module jeanphilippe.bernardy@gmail.com**20070120131231] [move scrsize in UI object jeanphilippe.bernardy@gmail.com**20070121072741] [bugfix: filler character is only for first character of line. Rest is spaces. jeanphilippe.bernardy@gmail.com**20070121073339] [bugfix: (0,0) screen size is now supported by the rendered jeanphilippe.bernardy@gmail.com**20070121080715] [bugfix: cursor displayed in the correct position (not at the previous refresh position) jeanphilippe.bernardy@gmail.com**20070121084111] [Log error messages jeanphilippe.bernardy@gmail.com**20070121092118] [move more ui-specific stuff to UI module jeanphilippe.bernardy@gmail.com**20070121094941] [encapsulate screen size inside UI module jeanphilippe.bernardy@gmail.com**20070121122209] [TODO and comments only jeanphilippe.bernardy@gmail.com**20070121130110] [More general method of dealing with mixed case in the --as= option jeanphilippe.bernardy@gmail.com**20070121160739] [fix configure.ac to call Setup.hs (not .lhs) mlang@delysid.org**20070126000815] [Renamings jeanphilippe.bernardy@gmail.com**20070121164227] [replacement for Prelude.error in Yi.Debug jeanphilippe.bernardy@gmail.com**20070121170428] [Define fully the Event type, so that GTK version does not depend on Vty jeanphilippe.bernardy@gmail.com**20070125163549] [Let the UI control the main thread (so GTK is happy) jeanphilippe.bernardy@gmail.com**20070125201907] [Remove some warnings jeanphilippe.bernardy@gmail.com**20070126065937] [GTK frontend jeanphilippe.bernardy@gmail.com**20070126070028] [add *very* basic (non incremental, hard to extend) syntax highlighting Stefan O'Rear **20070131050730] [Log less things jeanphilippe.bernardy@gmail.com**20070127072730] [support special chars typed with SHIFT, and unSetMark in GTK frontend jeanphilippe.bernardy@gmail.com**20070127080712] [Add a command line to the GTK ui jeanphilippe.bernardy@gmail.com**20070127083509] [GTK: support window deletion jeanphilippe.bernardy@gmail.com**20070127084433] [Comments update jeanphilippe.bernardy@gmail.com**20070127084730] [GTK: suspend implemented jeanphilippe.bernardy@gmail.com**20070127094610] [Don't use getMsgE any more jeanphilippe.bernardy@gmail.com**20070127101018] [Let the UI manage the command line jeanphilippe.bernardy@gmail.com**20070127112421] [bugfix: Don't send NUL char event when we can't translate it (GTK) jeanphilippe.bernardy@gmail.com**20070127115459] [Remove warnings jeanphilippe.bernardy@gmail.com**20070127120409] [Shuffle code around, so gtk version does not depend on vty jeanphilippe.bernardy@gmail.com**20070127123935] [Remove the need for OldKeys jeanphilippe.bernardy@gmail.com**20070127143114] [fix swapE so it works like emacs' transpose-chars jeanphilippe.bernardy@gmail.com**20070127165150] [Haddockified some comments jeanphilippe.bernardy@gmail.com**20070127183229] [Removed the Vimacs keymap: this was a cut'n'paste of the Emacs2 keymap, with a couple fine-tunings. This is not the way we want to go for customization, and it hindered maintenance needlessly. jeanphilippe.bernardy@gmail.com**20070127184651] [tigger refreshes synchonously with the execution of Actions jeanphilippe.bernardy@gmail.com**20070127191347] [Remove old emacs keymap, replace it by emacs2 jeanphilippe.bernardy@gmail.com**20070128073352] [bugfix: refresh once when UI actually starts jeanphilippe.bernardy@gmail.com**20070128080110] [Added charToEvent function jeanphilippe.bernardy@gmail.com**20070128091308] [Comments jeanphilippe.bernardy@gmail.com**20070128094847] [bugfix: gtk: correctly set focus on focus events. jeanphilippe.bernardy@gmail.com**20070128154549] [Comments and formatting jeanphilippe.bernardy@gmail.com**20070128165531] [Don't try to fix the non-printable in Core: that is the job of the UI or Keymap jeanphilippe.bernardy@gmail.com**20070128170407] [Introduce the Region ADT jeanphilippe.bernardy@gmail.com**20070129071249] [More natural semantics for regions jeanphilippe.bernardy@gmail.com**20070129072024] [Faster insertFile in Joe keymap jeanphilippe.bernardy@gmail.com**20070129162845] [Retain the column number when moving up or down through short lines jeanphilippe.bernardy@gmail.com**20070129191331] [Map C- keys in emacs keymap jeanphilippe.bernardy@gmail.com**20070129191723] [emacs: bind C-x 0 jeanphilippe.bernardy@gmail.com**20070130060958] [Remove dead ncurses code (Tim Newsham) jeanphilippe.bernardy@gmail.com**20070130073203] [Make sure the posix regex library is there (Tim Newsham) jeanphilippe.bernardy@gmail.com**20070130073359] [NoSignalsWin32 newsham@lava.net**20070131004337] [attempt merge (I think this was right, sorear?) dons@cse.unsw.edu.au**20070131064443] [add forgotten Yi.Syntax (contains among other things the trivial example highlighter - type foo) Stefan O'Rear **20070131235037] [Fix gtk build. Note: synhl won't work on gtk. Stefan O'Rear **20070202012209] [* Restructure the Highlighter type to use ByteString, allow multiple characters Stefan O'Rear **20070203024053 to be passed in at once, and allow an arbitrary (Eq) state type. * Implement a boilerplate alex.hsinc file for making a Highlighter out of an Alex whole-file lexer. * Import the (illiterate) Haskell lexer. ] [Allow for multiple syntax highlightings; use :set ft=haskell in the --as=vim to enable Haskell, or (default) :set ft=none for no highlighting. Stefan O'Rear **20070203084207] [Fix warning jeanphilippe.bernardy@gmail.com**20070130071850] [Added a new way to define keymaps (one way to rule them all) jeanphilippe.bernardy@gmail.com**20070204061041] [Re-wrote the Nano keymap using Interact jeanphilippe.bernardy@gmail.com**20070204063749 The keymap is now a lot shorter, and most importantly a lot easier to understand. ] [bugfix: gtk: move cursor and mark synchronously in line moves jeanphilippe.bernardy@gmail.com**20070204081328] [Rewrote the Emacs keymap on top of Interact jeanphilippe.bernardy@gmail.com**20070204092338] [Rewrote Ee bindings on top of Interact jeanphilippe.bernardy@gmail.com**20070204092354] [Remove obsolete comment jeanphilippe.bernardy@gmail.com**20070204114015] [Rewrote the Mg keymap on top of Interact jeanphilippe.bernardy@gmail.com**20070204145135] [Make the Interact monad support StateT transformer jeanphilippe.bernardy@gmail.com**20070207201908] [Re-wrote the vi keymap on top of interact jeanphilippe.bernardy@gmail.com**20070207201915] [Add 'oneOf' to Interact jeanphilippe.bernardy@gmail.com**20070208064240] [use the Interact.oneOf instead of re-defining it jeanphilippe.bernardy@gmail.com**20070208065712] [Removed the obsoleted Yi.Lexers jeanphilippe.bernardy@gmail.com**20070208103541] [Re-wrote Vim keymap on top of Interact jeanphilippe.bernardy@gmail.com**20070208121245] [Remove obsoleted Yi/MakeKeymap.hs jeanphilippe.bernardy@gmail.com**20070208065117] [bugfix: command line focus is now ok jeanphilippe.bernardy@gmail.com**20070208123428] [Re-wrote Joe keymap of top of interact jeanphilippe.bernardy@gmail.com**20070208124455 The Joe mode is quite broken (but so it was before the change). Regression: Search/Replace in not implemented (but is was broken in core anyway) I belive this is quite harmless, Joe is not a primary keymap anyway. In any case, that change makes Yi.MakeKeymap obsolete; allowing for further improvement of the Yi.Interact module, which is to become the common base for all keymaps; easing the development of all keymaps. (eg. interactive search/replace will benefit from support in Interact) ] [bugfix: refresh immediately upon window resize jeanphilippe.bernardy@gmail.com**20070208132848] [bugfix: refresh after a metaM action jeanphilippe.bernardy@gmail.com**20070208140613] [Emacs: correctly re-bind RET in (and out of) minibuffers jeanphilippe.bernardy@gmail.com**20070208142641] [Emacs keybinding uses haskell hilight by default jeanphilippe.bernardy@gmail.com**20070208143010] [handle non-graphic characters in UI jeanphilippe.bernardy@gmail.com**20070208145126] [emacs: inform the user that she has typed an unbound key jeanphilippe.bernardy@gmail.com**20070208153347] [Enhancements in Interact jeanphilippe.bernardy@gmail.com**20070208155459] [emacs: correctly print shifted special keys. jeanphilippe.bernardy@gmail.com**20070208160245] [Remove Yi.Regex.hsc and use Text.Regex.Posix.Wrap instead jeanphilippe.bernardy@gmail.com**20070208193332] [Create Yi.Search for search-related functions; shuffle code around jeanphilippe.bernardy@gmail.com**20070208200119] [gtk: set the font correctly for all windows jeanphilippe.bernardy@gmail.com**20070208202033] [update TODO jeanphilippe.bernardy@gmail.com**20070208203110] [Update to use the vty 3 abstractions (2x speed increase, with no tuning) Stefan O'Rear **20070214000721] [Use higher-level interface for Regex compilation jeanphilippe.bernardy@gmail.com**20070209064348] [Have a specific keymap per buffer jeanphilippe.bernardy@gmail.com**20070213073309] [Support for minibuffer moved in Core jeanphilippe.bernardy@gmail.com**20070214063939] [Oops, forgot new file: Yi.Keymap jeanphilippe.bernardy@gmail.com**20070214064337] [Comment jeanphilippe.bernardy@gmail.com**20070214064620] [bugfix: correctly implement the logic of "hasRoomForExtraWindow" jeanphilippe.bernardy@gmail.com**20070215072403] [Remove useless junk from Emacs.hs jeanphilippe.bernardy@gmail.com**20070215073201] [Overhaul of windowing system jeanphilippe.bernardy@gmail.com**20070217000653] [gtk counterpart of the window overhaul jeanphilippe.bernardy@gmail.com**20070217001727] [gtk: fix switching buffers; attempt to fix window focus change jeanphilippe.bernardy@gmail.com**20070217083659] [Shuffle code around; fix gtk bug: don't focus a deleted window jeanphilippe.bernardy@gmail.com**20070217161512] [gtk: insert new window below jeanphilippe.bernardy@gmail.com**20070217162510] [gtk: bugfix: correctly set the buffer's key in setWindowBuffer jeanphilippe.bernardy@gmail.com**20070217170023] [gtk: attempt to forget the prefered column upon mouse click jeanphilippe.bernardy@gmail.com**20070217170207] [Added very simple interpreter for haskell expression (using GHC API) jeanphilippe.bernardy@gmail.com**20070223220622] [emacs: bind evaluation to C-x e e jeanphilippe.bernardy@gmail.com**20070223220805] [Move the "editor refresh" MVar in the UI. (removes a usage of unsafePerformIO) jeanphilippe.bernardy@gmail.com**20070224070146] [fix gtk build jeanphilippe.bernardy@gmail.com**20070224073802] [Remove useless function jeanphilippe.bernardy@gmail.com**20070224113552] [removed withBuffer_ and withWindow in favour of the non underscored versions jeanphilippe.bernardy@gmail.com**20070224145228] [removed unused function: getWindowIndOf jeanphilippe.bernardy@gmail.com**20070224150047] [Move the buffer-local keymap handling to Editor jeanphilippe.bernardy@gmail.com**20070225170425] [Remove the editor global variable, in favour of passing editor IORef it via a Reader monad. jeanphilippe.bernardy@gmail.com**20070228160445] [Add possibility to dynamically interpret Editor actions jeanphilippe.bernardy@gmail.com**20070301180207 This means Yi is fully scriptable in haskell. Editor expression evaluation is bound to M-x in emacs mode. ] [Minor cleanups jeanphilippe.bernardy@gmail.com**20070301201225] [Retrieve the ghc lib dir at build time jeanphilippe.bernardy@gmail.com**20070301202216] [Move Eval-related code to new module: Yi.Eval jeanphilippe.bernardy@gmail.com**20070301202257] [Remove useless definitions of settings jeanphilippe.bernardy@gmail.com**20070301202837] [Add some documentation for Eval functions jeanphilippe.bernardy@gmail.com**20070301202858] [trim Vim keymap import list jeanphilippe.bernardy@gmail.com**20070301203138] [Move some more code to Yi.Eval jeanphilippe.bernardy@gmail.com**20070301210615] [run a configuration script at startup jeanphilippe.bernardy@gmail.com**20070301214723] [remove the old user-configuration; fixes in the new configuration jeanphilippe.bernardy@gmail.com**20070302180944] [Properly load files on command line at startup jeanphilippe.bernardy@gmail.com**20070302182217] [Emacs: bound gotoLineE to C-x l jeanphilippe.bernardy@gmail.com**20070302182828] [Simplify options-handling code jeanphilippe.bernardy@gmail.com**20070302183519] [Simplify argument-handling code jeanphilippe.bernardy@gmail.com**20070302184144] [Fix the parsing of options jeanphilippe.bernardy@gmail.com**20070302200347 Also get rid of more global variables ] [Fix the gtk target jeanphilippe.bernardy@gmail.com**20070302204624 Put the gtk UI on par with the vty one. Ensure that both are always built together (preventing further breakage) ] [Better documentation for the Yi.Interact module jeanphilippe.bernardy@gmail.com**20070307072122] [More sensible YiConfig.example jeanphilippe.bernardy@gmail.com**20070307072303] [Update for latest gtk release jeanphilippe.bernardy@gmail.com**20070307072431] [Fixes in user-config processing jeanphilippe.bernardy@gmail.com**20070310133923] [Use cabal-make for makefile jeanphilippe.bernardy@gmail.com**20070310134059] [remove obsolete hs-boot files jeanphilippe.bernardy@gmail.com**20070310135321] [depend on a the correct gtk version jeanphilippe.bernardy@gmail.com**20070310135832] [Send errors to *scratch* buffer instead of stdout jeanphilippe.bernardy@gmail.com**20070311141552] [remove configure.ac (everything configured by Setup.hs now) jeanphilippe.bernardy@gmail.com**20070311162920] [README update jeanphilippe.bernardy@gmail.com**20070310140731] [Compile yi to a package, so that it can be ran in any dirctory. jeanphilippe.bernardy@gmail.com**20070314063045 (No more user=developer limitation) This also simplifies some things in the way we use the GHC api, a bit. ] [Workaround GHC inability to interpret code inside interpreted code jeanphilippe.bernardy@gmail.com**20070315063138 * Yi main no longer need to statically link all Yi code * it is possible to do things like running '' execE "rightE" '' interactively. ] [Remove some warnings jeanphilippe.bernardy@gmail.com**20070315071405] [README update jeanphilippe.bernardy@gmail.com**20070316062627] [Yi static main no longer need to depend on either vty or gtk. Unified them. jeanphilippe.bernardy@gmail.com**20070316062631] [TODO update jeanphilippe.bernardy@gmail.com**20070316063024] [Rid of old config examples; move YiConfig in the example directory; don't always create ~/.yi/YiConfig.hs jeanphilippe.bernardy@gmail.com**20070316205340] [Set a more sensible default keymap jeanphilippe.bernardy@gmail.com**20070316211844] [Be resilient to absent or buggy YiConfig jeanphilippe.bernardy@gmail.com**20070316213936] [Remove the MetaException and its way to switch keymap jeanphilippe.bernardy@gmail.com**20070317102305 This was poorly suited to * dynamic modifications of keymaps, * externally so (not coming from the code running inside of the keymap) * multiple buffers having different keymaps ] [Make the keymaps passed to Buffers a bit more dynamic (EditorM Keymap) jeanphilippe.bernardy@gmail.com**20070317103516 The keymap is an EditorM action that will be re-run to recompute the keymap everytime the keymap "dies" ] [Report all error messages to the *messages* buffer jeanphilippe.bernardy@gmail.com**20070317125944] [Add an editor action/command to change the keymap dynamically jeanphilippe.bernardy@gmail.com**20070317144336] [Implemented emacs switch-buffer, C-x b jeanphilippe.bernardy@gmail.com**20070317155151] [Give a more sensible type to Emacs rebind function jeanphilippe.bernardy@gmail.com**20070318083350] [Run all editor actions in a single thread jeanphilippe.bernardy@gmail.com**20070318084245 This allows keymap thread to be killed safely (otherwise a suicidal keymap thread would cause sigsegv) A "free" benefit is that interactive actions are trivally guaranteed to be sequential. ] [Add example of dynamic reconfiguration jeanphilippe.bernardy@gmail.com**20070318084924] [A somewhat friendlier default (empty) keymap jeanphilippe.bernardy@gmail.com**20070318091909] [Finer interface to setting context in Yi.Kernel jeanphilippe.bernardy@gmail.com**20070321072842] [cabal-make sync jeanphilippe.bernardy@gmail.com**20070321073513] [Better reporting of GHC errors jeanphilippe.bernardy@gmail.com**20070321174126] [Add an action to dynamically load a module (loadE); YiConfig is just one of those. jeanphilippe.bernardy@gmail.com**20070322184613] [Add reconfigE for reloading and running the config. jeanphilippe.bernardy@gmail.com**20070322184630] [Don't force the context before dynamic evaluation (user can manage the context herself) jeanphilippe.bernardy@gmail.com**20070323071611] [reloadE returns the list of loaded modules jeanphilippe.bernardy@gmail.com**20070324082129] [remove obsolete yiContext function jeanphilippe.bernardy@gmail.com**20070324082221] [Add minibuffer history jeanphilippe.bernardy@gmail.com**20070324095824] [Add auto-completion for buffer names jeanphilippe.bernardy@gmail.com**20070324144507] [Bind M-p and M-n to the correct history functions. jeanphilippe.bernardy@gmail.com**20070324144944] [Add completion for M-x jeanphilippe.bernardy@gmail.com**20070324154839] [Use RdrNames instead of Name for completion jeanphilippe.bernardy@gmail.com**20070324160054] [Add command to kill specific buffer, bound to C-x k in emacs mode jeanphilippe.bernardy@gmail.com**20070325072118] [Completion improvements jeanphilippe.bernardy@gmail.com**20070325072151] [export searchB jeanphilippe.bernardy@gmail.com**20070325072842] [README updates jeanphilippe.bernardy@gmail.com**20070325110309] [add switchToBufferE for switching current window to a specific buffer jeanphilippe.bernardy@gmail.com**20070325111336] [add unloadE jeanphilippe.bernardy@gmail.com**20070325111344] [bugfix: restart the execution loop when there is an exception jeanphilippe.bernardy@gmail.com**20070325131203] [Wibble in emacs mode jeanphilippe.bernardy@gmail.com**20070325160917] [Add jumpToErrorE for finding the source of an error message given by GHC jeanphilippe.bernardy@gmail.com**20070325162232] [Remove obsolete misleading comment jeanphilippe.bernardy@gmail.com**20070325162421] [bugfix: save the prefered column in more cases jeanphilippe.bernardy@gmail.com**20070325165621] [Retire showFailures for emacs mode jeanphilippe.bernardy@gmail.com**20070328053902] [Give friendlier message if the config module is not loaded jeanphilippe.bernardy@gmail.com**20070328062249] [Add optional' to Interact jeanphilippe.bernardy@gmail.com**20070329052334] [Don't print () when evaluating functions dynamically jeanphilippe.bernardy@gmail.com**20070329062414] [Incremental search jeanphilippe.bernardy@gmail.com**20070330062524] [emacs: more sensible default for switchBufferE jeanphilippe.bernardy@gmail.com**20070330062659] [Add completion for filenames jeanphilippe.bernardy@gmail.com**20070331131007] [provide getModuleGraph and ms_mod_name in Kernel jeanphilippe.bernardy@gmail.com**20070331143530] [fix warning jeanphilippe.bernardy@gmail.com**20070331150214] [Minibuffer fixes jeanphilippe.bernardy@gmail.com**20070331161048] [gtk: correctly focus the current window jeanphilippe.bernardy@gmail.com**20070401065607] [gtk: Send correct event for Tab key jeanphilippe.bernardy@gmail.com**20070401070129] [gtk: syntax highlight using sourceview jeanphilippe.bernardy@gmail.com**20070401125121] [emacs: bind selfInsert only to printable ascii chars jeanphilippe.bernardy@gmail.com**20070401125229] [Basic auto-indent support jeanphilippe.bernardy@gmail.com**20070403063340] [* gtk: make cursor visible as when it moves out of window jeanphilippe.bernardy@gmail.com**20070406072539] [basic query-replace implementation jeanphilippe.bernardy@gmail.com**20070406085209] [gtk: searchBI implemented jeanphilippe.bernardy@gmail.com**20070406145121] [gtk: set the font for the command line jeanphilippe.bernardy@gmail.com**20070406150908] [Add modelines to GTK windows jeanphilippe.bernardy@gmail.com**20070406152931] [better, window-independent, frontend-independent modeline jeanphilippe.bernardy@gmail.com**20070406155904] [show changed flag on the modeline jeanphilippe.bernardy@gmail.com**20070406204627] [Set the font for textview as soon as it is created jeanphilippe.bernardy@gmail.com**20070406205249] [gtk: added support for miniwindows jeanphilippe.bernardy@gmail.com**20070407054556] [Fix name of filepath package in dependencies jeanphilippe.bernardy@gmail.com**20070407054651] [Remove useless commented code jeanphilippe.bernardy@gmail.com**20070407054736] [Make jumpToE open the error in another window jeanphilippe.bernardy@gmail.com**20070407070719] [Factorized switchToBufferWithNameE out of the Emacs specific code jeanphilippe.bernardy@gmail.com**20070407072506] [Unfolded switchToBufferE jeanphilippe.bernardy@gmail.com**20070407072856] [Factorize switchToBufferOtherWindowE jeanphilippe.bernardy@gmail.com**20070407074250] [Show *messages* buffer if there were errors during reload jeanphilippe.bernardy@gmail.com**20070407075100] [use getBufferWithName in switchToBufferWithNameE, taking advantage of monad failure jeanphilippe.bernardy@gmail.com**20070407075535] [use getBufferWithName in killBuffer, taking advantage of monad failure jeanphilippe.bernardy@gmail.com**20070407075935] [Better handling in current directory in filename completion jeanphilippe.bernardy@gmail.com**20070407120013] [bugfix: better scheme for completion of empty string jeanphilippe.bernardy@gmail.com**20070407121956] [README updated with more detailed installation instruction jeanphilippe.bernardy@gmail.com**20070407173629] [special handling of home directory in filename completion jeanphilippe.bernardy@gmail.com**20070407180428] [Give a more useful error message when user forgets --with-ghc= jeanphilippe.bernardy@gmail.com**20070408053630] [Split Kernel interface and implementation, so dynamically loaded packages don't need to compile the Boot code. jeanphilippe.bernardy@gmail.com**20070408061059] [Revert to a trivial Setup.hs for non-bootloader packages jeanphilippe.bernardy@gmail.com**20070408061221] [Show the latest file given on the command line in the main window at startup jeanphilippe.bernardy@gmail.com**20070408070539] [unfold a changeKeymapE usage jeanphilippe.bernardy@gmail.com**20070408071150] [Add sample config to use Vim mode and haskell syn hl for all files jeanphilippe.bernardy@gmail.com**20070408071816] [Removed dead code in Emacs keymap jeanphilippe.bernardy@gmail.com**20070408092641] [Use more sensible policies and placement for scrollbars jeanphilippe.bernardy@gmail.com**20070408162543] [Remove dependency on newest cabal (for building) jeanphilippe.bernardy@gmail.com**20070409053206] [bugfix: Map KIns and KDel correctly in eventToChar jeanphilippe.bernardy@gmail.com**20070409055129] [update install instructions jeanphilippe.bernardy@gmail.com**20070409074905] [bugfix: emacs: killBufferE now works jeanphilippe.bernardy@gmail.com**20070409082122] [gtk: "cache" the cursor position in a non-displayed mark, making the display less flickering jeanphilippe.bernardy@gmail.com**20070407180618] [fix warning jeanphilippe.bernardy@gmail.com**20070409083751] [restore the point to the insert position when starting an action. jeanphilippe.bernardy@gmail.com**20070409083922 Also, forget the prefer col if the user clicked somewhere else. ] [Fixspelling of forgetPerferCol -> forgetPreferCol jeanphilippe.bernardy@gmail.com**20070409084306] [fix vty build jeanphilippe.bernardy@gmail.com**20070409084353] [offset line numbers by one in gtk jeanphilippe.bernardy@gmail.com**20070409092922] [gtk: bugfix: do not go below line 0 jeanphilippe.bernardy@gmail.com**20070409093653] [Better YiConfig example jeanphilippe.bernardy@gmail.com**20070409095650] [Add vim ':x' command Duncan Coutts **20070410074605 I always use this. It's like :wq but according to the vim docs it only writes the file if it's not changed where as :wq always writes the file. I didn't really care about the difference it's just what I learned first. ] [more complete implementation of Makefile's runtime-config rule jeanphilippe.bernardy@gmail.com**20070409145748] [More clean exit when provided with unrecognized options jeanphilippe.bernardy@gmail.com**20070409150404] [emacs: fail more gracefully when the completion function raises exception jeanphilippe.bernardy@gmail.com**20070409170928] [emacs: bind C-x C-w jeanphilippe.bernardy@gmail.com**20070411053730] [Clear the undo list when we save to file, so the changed "flag" is reset jeanphilippe.bernardy@gmail.com**20070411163413] [isearch improvements jeanphilippe.bernardy@gmail.com**20070411165247] [Co-functor implementation for Interact jeanphilippe.bernardy@gmail.com**20070411193959] [vim: remove the unused cmdMode/ins state jeanphilippe.bernardy@gmail.com**20070412044822] [vi: remove the unused cmdMode/ins state jeanphilippe.bernardy@gmail.com**20070412045049] [Split off history handling to its own module jeanphilippe.bernardy@gmail.com**20070412063232] [Use doResizeAll to simplify newWindow (vty) jeanphilippe.bernardy@gmail.com**20070412063238] [Mini-windows for vty backend jeanphilippe.bernardy@gmail.com**20070412192017] [Add a prompt for vty miniwindows jeanphilippe.bernardy@gmail.com**20070412193953] [Tune the prompt for minibuffers jeanphilippe.bernardy@gmail.com**20070412194022] [Comment wibble jeanphilippe.bernardy@gmail.com**20070412195456] [vim: ex_mode uses minibuffer jeanphilippe.bernardy@gmail.com**20070413163642] [Wibbles in Emacs and vty UI jeanphilippe.bernardy@gmail.com**20070413163751] [vi: ex_mode uses minibuffer jeanphilippe.bernardy@gmail.com**20070414044322] [joe: remove (now unused) state jeanphilippe.bernardy@gmail.com**20070414044656] [vi: remove (now unused) state jeanphilippe.bernardy@gmail.com**20070414044842] [vim: remove (now unused) state jeanphilippe.bernardy@gmail.com**20070414044944] [Generalized Interact to a monad transformer jeanphilippe.bernardy@gmail.com**20070414052250] [Finish the comap function for Interact jeanphilippe.bernardy@gmail.com**20070414091356] [Keymap are now Interact process jeanphilippe.bernardy@gmail.com**20070414091648 ie. type Keymap = Interact Event () This means keymaps become composable across emulation modes. Also, some code can be shared (factorized) by all keymaps. ] [More helpful default keymap jeanphilippe.bernardy@gmail.com**20070414093008] [emacs: wibble jeanphilippe.bernardy@gmail.com**20070414093643] [Fix the config examples jeanphilippe.bernardy@gmail.com**20070414095216] [Factorize top-level "forever" usage in keymaps jeanphilippe.bernardy@gmail.com**20070414100318] [Remove the command-line focus ability jeanphilippe.bernardy@gmail.com**20070414170057 Command-line interaction is deprecated in favour of using minibuffers; This further degrades the not-so-well-maintained keymaps. ] [Add support for buffer-local modification of keymap jeanphilippe.bernardy@gmail.com**20070415063349] [Split Keymap type definitions in own module jeanphilippe.bernardy@gmail.com**20070415063411] [Start console and open minibuffer code ==> in Yi main jeanphilippe.bernardy@gmail.com**20070415073814] [Suport for buffer-local keymap modifications, part 2 jeanphilippe.bernardy@gmail.com**20070415081231] [emacs: return to correct window when minibuffer action is cancelled jeanphilippe.bernardy@gmail.com**20070415081441] [elements of specific keymap for console jeanphilippe.bernardy@gmail.com**20070415093155] [Modifyable buffer-local keymaps jeanphilippe.bernardy@gmail.com**20070415112943] [fix gtk build jeanphilippe.bernardy@gmail.com**20070415143547] [make botE move the point past the last char. (so next insert is really at the end of the buffer) jeanphilippe.bernardy@gmail.com**20070415150529] [bugfix: setWindow: don't insert the window given as parameter jeanphilippe.bernardy@gmail.com**20070415150707] [Show the GHC messages in the *console* buffer jeanphilippe.bernardy@gmail.com**20070415150927] [Console improvements jeanphilippe.bernardy@gmail.com**20070415151436] [Make return key work in nano keybinding **20070418130540] [Multiple marks implementation jeanphilippe.bernardy@gmail.com**20070421063639] [Console prompt jeanphilippe.bernardy@gmail.com**20070421063655] [Add a simple script to find out/remember the list of contributors jeanphilippe.bernardy@gmail.com**20070421205223] [Show what's being replaced in query-replace jeanphilippe.bernardy@gmail.com**20070425053052] [Add a yield when we process an event, so the gtk version is a lot more responsive. jeanphilippe.bernardy@gmail.com**20070428190523] [GTK: limit the number of chars in the command line to 132 jeanphilippe.bernardy@gmail.com**20070428192347] [Remove silly comment jeanphilippe.bernardy@gmail.com**20070428194303] [Introduce the BufferM monad jeanphilippe.bernardy@gmail.com**20070507191717 BufferM formalizes a (monadic) operation on a buffer. This allows to remove the explicit buffer variable at a thousand places. More importantly, this opens the door to not defining buffer-only operations at the core level. Indeed, translating a buffer operation to a core operations is garanteed to be 'withBuffer' ] [gtk: fixed writeB jeanphilippe.bernardy@gmail.com**20070507202601] [CabalClean ben@moseley.name**20070505201924] [ndded revertE function, removed quotes and dir prefix from buffer names, fixed up some comments ben@moseley.name**20070509194719 :wq :wq :q! ] [Introduce the BufferM monad jeanphilippe.bernardy@gmail.com**20070512065855 BufferM formalizes a (monadic) operation on a buffer. This allows to remove the explicit buffer variable at a thousand places. More importantly, this opens the door to not defining buffer-only operations at the core level. Indeed, translating a buffer operation to a core operations is garanteed to be 'withBuffer' ] [gtk: fixed writeB jeanphilippe.bernardy@gmail.com**20070512070150] [Support for firstname@lastname.name format in Contributors.hs jeanphilippe.bernardy@gmail.com**20070512071122] [gtk: make sure point is never moved below position 0 jeanphilippe.bernardy@gmail.com**20070512185011] [remove useless import jeanphilippe.bernardy@gmail.com**20070517074916] [Release-preparation work jeanphilippe.bernardy@gmail.com**20070517080733] [Add descriptions for packages jeanphilippe.bernardy@gmail.com**20070517082010] [Make links in the packages subdirectories instead of referring to ../../* jeanphilippe.bernardy@gmail.com**20070517095258] [Add hs-boot files to the extra-source-files: field jeanphilippe.bernardy@gmail.com**20070517112621] [No need to pass the --with-ghc= option any more (courtesy Marc Weber) jeanphilippe.bernardy@gmail.com**20070517113125] [more extra-source-files: jeanphilippe.bernardy@gmail.com**20070517114515] [README updates jeanphilippe.bernardy@gmail.com**20070517151056] [two typos fixed Andres Loeh **20070518210036] [added keybinding for '0' in vim keymap Andres Loeh **20070518210058] [TAG yi-0.2.0 jeanphilippe.bernardy@gmail.com**20070518115221] [Be more helpful if the user has no keymap defined. jeanphilippe.bernardy@gmail.com**20070520153144] [InitialDired: Initial crude dired implementation. Ben Moseley **20070520174340] [fixup gtk cabal for dired jeanphilippe.bernardy@gmail.com**20070520195559] [add license for Yi.Dired jeanphilippe.bernardy@gmail.com**20070520195718] [bind C-x to dynamically call dired jeanphilippe.bernardy@gmail.com**20070520195919] [dired: stylistic fine-tuning and comments jeanphilippe.bernardy@gmail.com**20070520201054] [FixingCompilerWarnings: Cleaning up a bunch of compiler warnings. Ben Moseley **20070520200657] [bump version number jeanphilippe.bernardy@gmail.com**20070523063632] [Fix Vim keymap 'dd' command. 'Daniel McAllansmith '**20070524060628 Changed the 'dd' command to leave cursor on the first non-blank character, and handle deletion of last line in file. ]