Thu Jan 7 10:00:41 EST 2010 [email protected]
* IReader.hs: hlint, whitespace
Thu Jan 7 10:01:26 EST 2010 [email protected]
* IReader.hs: add shift functionality to allow expressing 'priorities'
SuperMemo associates each article with a number, and then applies the spaced
repetition formula.
But I prefer simpler code - and since we have a circular list of articles,
higher priorities can
force articles to come up sooner just by putting the article not at the end,
but 10 before the end,
for example. Of course, this means the priority of an article changes
completely every time you save
the article, but that's fine with me.
Thu Jan 7 10:03:58 EST 2010 [email protected]
* Mode.Reader: make use of shift functionality
--
Yi development mailing list
[email protected]
http://groups.google.com/group/yi-devel
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
New patches:
[IReader.hs: hlint, whitespace
[email protected]**20100107150041
Ignore-this: 3176d4a3f5ba62f68f511b786b0e938
] hunk ./src/Yi/IReader.hs 46
-- | We remove the old first article, and we stick it on the end of the
-- list using the presumably modified version.
removeSetLast :: ArticleDB -> Article -> ArticleDB
- -removeSetLast adb old = (snd $ split adb) |> old
+removeSetLast adb old = snd (split adb) |> old
-- | Insert a new article with top priority (that is, at the front of the list).
insertArticle :: ArticleDB -> Article -> ArticleDB
hunk ./src/Yi/IReader.hs 60
-- | Read in database from 'dbLocation' and then parse it into an 'ArticleDB'.
readDB :: YiM ArticleDB
readDB = io $ (dbLocation >>= r) `catch` (\_ -> return empty)
- - where r x = fmap (decode . BL.fromChunks . return) $ B.readFile x
+ where r = fmap (decode . BL.fromChunks . return) . B.readFile
-- We read in with strict bytestrings to guarantee the file is closed,
-- and then we convert it to the lazy bytestring data.binary expects.
-- This is inefficient, but alas...
hunk ./src/Yi/IReader.hs 71
-- | Returns the database as it exists on the disk, and the current Yi buffer contents.
-- Note that the Initializable typeclass gives us an empty Seq. So first we try the buffer
- --- state in the hope we can avoid a very expensive read from disk, and if we find nothing
+-- state in the hope we can avoid a very expensive read from disk, and if we find nothing
-- (that is, if we get an empty Seq), only then do we call 'readDB'.
oldDbNewArticle :: YiM (ArticleDB, Article)
oldDbNewArticle = do saveddb <- withBuffer $ getA bufferDynamicValueA
[IReader.hs: add shift functionality to allow expressing 'priorities'
[email protected]**20100107150126
Ignore-this: 40f09f42bdd141cc6545b0bb049d7d00
SuperMemo associates each article with a number, and then applies the spaced repetition formula.
But I prefer simpler code - and since we have a circular list of articles, higher priorities can
force articles to come up sooner just by putting the article not at the end, but 10 before the end,
for example. Of course, this means the priority of an article changes completely every time you save
the article, but that's fine with me.
] hunk ./src/Yi/IReader.hs 48
removeSetLast :: ArticleDB -> Article -> ArticleDB
removeSetLast adb old = snd (split adb) |> old
+-- we move the last entry to the entry 'length `div` n'from the beginning; so 'shift 1' would do nothing
+-- (eg. the last index is 50, 50 `div` 1 == 50, so the item would be moved to where it is)
+-- 'shift 2' will move it to the middle of the list, though; last index = 50, then 50 `div` 2 will shift
+-- the item to index 25, and so on down to 50 `div` 50 - the head of the list/Seq.
+shift :: Int ->ArticleDB -> ArticleDB
+shift n adb = if n < 2 || lst < 2 then adb else (r |> lastentry) >< s'
+ where lst = S.length adb - 1
+ (r,s) = S.splitAt (lst `div` n) adb
+ (s' :> lastentry) = S.viewr s
+
-- | Insert a new article with top priority (that is, at the front of the list).
insertArticle :: ArticleDB -> Article -> ArticleDB
insertArticle adb new = new <| adb
hunk ./src/Yi/IReader.hs 124
-- | The main action. We fetch the old database, we fetch the modified article from the buffer,
-- then we call the function 'updateSetLast' which removes the first article and pushes our modified article
-- to the end of the list.
- -saveAndNextArticle :: YiM ()
- -saveAndNextArticle = do (oldb,newa) <- oldDbNewArticle
- - let newdb = removeSetLast oldb newa
- - writeDB newdb
- - setDisplayedArticle newdb
+saveAndNextArticle :: Int -> YiM ()
+saveAndNextArticle n = do (oldb,newa) <- oldDbNewArticle
+ let newdb = shift n $ removeSetLast oldb newa
+ writeDB newdb
+ setDisplayedArticle newdb
-- | Assume the buffer is an entirely new article just imported this second, and save it.
-- We don't want to use 'updateSetLast' since that will erase an article.
[Mode.Reader: make use of shift functionality
[email protected]**20100107150358
Ignore-this: efd43888ba228d9e2e0ec3bfb4f86799
] hunk ./src/Yi/Mode/IReader.hs 6
-- We have it as a separate mode so users can bind the commands to this mode specifically.
module Yi.Mode.IReader where
+import Data.Char (intToDigit)
import Yi.Buffer.Misc
import Yi.IReader
import Yi.Keymap
hunk ./src/Yi/Mode/IReader.hs 20
modeKeymap = topKeymapA ^: ikeys }
where -- Default bindings.
-- ikeys :: (MonadInteract f Yi.Keymap.Action Event) => f () -> f ()
- - ikeys = (choice [metaCh '1' ?>>! saveAndNextArticle,
- - metaCh '2' ?>>! saveAsNewArticle,
- - metaCh '3' ?>>! deleteAndNextArticle] <||)
+ ikeys = (choice ([metaCh '`' ?>>! saveAsNewArticle,
+ metaCh '\DEL' ?>>! deleteAndNextArticle] ++
+ map (\x -> metaCh (intToDigit x) ?>>! saveAndNextArticle x) [1..9])
+ <||)
ireaderMode :: Mode syntax
ireaderMode = abstract { modeName = "interactive reading of text" }
hunk ./src/Yi/Mode/IReader.hs 31
ireadMode :: YiM ()
ireadMode = do withBuffer $ setAnyMode $ AnyMode ireaderMode
nextArticle
- - msgEditor "M-1: next; M-2: save; M-3: delete"
+ msgEditor "M-Del delete; M-` new; M-[1-9]: save with increasing priority"
Context:
[Unicode: again a lot more symbols
Nicolas Pouillard <[email protected]>**20091217102244
Ignore-this: c7e9246ace429c215e26861b07ed610a
]
[More unicode chars: math{bb,cal} letters...
Nicolas Pouillard <[email protected]>**20091208135156
Ignore-this: e2a2c450d91d7997dfe5e0a45d338ae2
]
[Yi.Char.Unicode: more symbols or shortcuts
Nicolas Pouillard <[email protected]>**20091201083115
Ignore-this: 77f1b1996b37157761b8af3c34d579b7
]
[Yi.Char.Unicode: more greek shortcuts
Nicolas Pouillard <[email protected]>**20091125172327
Ignore-this: 7dbdef674e308e08429ed46be73e91db
]
[Yi.Char.Unicode: more chars
Nicolas Pouillard <[email protected]>**20091125131229
Ignore-this: 6909429f9c10042492ccade279f1de74
]
[Abella: some more improvments
Nicolas Pouillard <[email protected]>**20090828113343
Ignore-this: 3822393d5ce3baff600b59c0eb3d3917
]
[Update Yi.UI.Vty for VTY 4.1 and 4.0 compatability
[email protected]**20091113022440
Ignore-this: d28fc1b2c7e7bad853ae81409b79c106
]
[Yi.Style: haddock comments
[email protected]**20091011221655
Ignore-this: b4e4913a22c71872b50d6233dcff49df
]
[Yi.Buffer.Misc: haddock comments on Mode
[email protected]**20091011221621
Ignore-this: 84c3d629726e2a78d78785571e78fd73
]
[Yi.Lexer.Alex: haddock comments
[email protected]**20091011172107
Ignore-this: c5aabffbf4d263a1c137db49dd518edb
]
[copy operation and code clean up
Wen Pu <[email protected]>**20091009194543
Ignore-this: f3af2fb0c9f88dcabfd7fe278dda0c27
1. file copy operation done
2. simplify DiredOps
3. eliminating some extra long lines
]
[Use QC 2.1.0.2
[email protected]**20090927154414
Ignore-this: a6b950cba83b12e2e1fad3e61ae27cb8
]
[Update to data-accessor 0.2.1
[email protected]**20090920091817]
[re-organize refreshEditor
[email protected]**20090916205757
Ignore-this: abd0e67de3fa920a273e726d72d8a053
]
[dired patch
Wen Pu <[email protected]>**20090913234653
Ignore-this: 6e2fdd90bea1e3ae430ddd08c81bb32e
1. fix "apply to all" problem
2. remove marks when file is moved or deleted
3. split DORemove into DORemoveFile and DORemoveDir, because removeLink
only works for file; use removeDirectoryRecursive for dirs.
]
[One focused tree per window
[email protected]**20090910222033
Ignore-this: fb45ae8eb397ca639e2d06d9d659ef56
]
[comments
[email protected]**20090910221910
Ignore-this: cebcd4cf7656e0c5611898b0cd65289f
]
[Y.C.Unicode: add some squared operators
Nicolas Pouillard <[email protected]>**20090909163835
Ignore-this: 784e5d0f4ab80786cbf0935dd36f521c
]
[Y.C.Unicode: approx and some circled operators.
Nicolas Pouillard <[email protected]>**20090909162801
Ignore-this: 7307d6f831cd1bfd4d9f9d287f5c4107
]
[(Vty) Render the tabs not in focus with an underline.
[email protected]**20090909093533
Ignore-this: d722415fceb2ef1ca9671cd403154326
This is the same behavior as Vim. Though I kinda think this is backwards. Rendering the tab in focus
underline makes more sense to me!
]
[fix non-testing build
[email protected]**20090908201338
Ignore-this: 6957c5af2017c762d0fb26b1048ef584
]
[use the properties of pointed list to assure minibuffer target is correct. Not onCloseBufferE
[email protected]**20090908193923
Ignore-this: b4e3d48b23b30e74d0cc0214d0c62cbb
]
[use a temp buffer for Dired mode. Pull/put filepath of dir from DiredState
[email protected]**20090907164549
Ignore-this: 1419c5e130815b3d3baa1aa610cc90e7
]
[newTempBufferE should search to verify the name used does not already exist.
[email protected]**20090907160726
Ignore-this: 3b8f539b7adc4a14c4e5d14244ca273e
]
[(Vim) Use newTempBufferE to correct :tabnew
[email protected]**20090906234648
Ignore-this: 1fd2f4c050afcf4ebaec26e69d2cd00f
]
[Adding newTempBufferE to switch to a new buffer with a unique name.
[email protected]**20090906234602
Ignore-this: 6ff0d5331f7443bbe687f8939df5ed42
]
[(issue 298) hlGetTree cannot equal just focused. That is only the strokes for the *last* window.
[email protected]**20090906170540
Ignore-this: 5541fcb35ddf57ed8b5944cece5750b4
All caches related to a window's presentation should be on a per-window basis. The "focused" part of
the syntax highlighter Cache is updated for each window in Yi.Core:
let e6 = fst $ runOnWins (snapInsB >> focusSyntaxB) e5
However since the Cache only has a single focused member, and not one per window, then the focused
for only the last window is retained.
The focused field should be removed from the Cache and moved to the Window structure?
]
[Update Yi.UI.Pango.Control so it uses String instead of Rope
[email protected]**20090906161513
Ignore-this: d492b71a6fb580502a4c9114dede4fd3
]
[Start of Yi.UI.Pango.Control for embedding Yi in other apps
[email protected]**20090901053128
Ignore-this: 4bce2ae8481d4cc062fe8b9abdf321d2
]
[Make sure the current buffer and window is the same as that which spawned minibuffer.
[email protected]**20090905055233
Ignore-this: 8c6520f9242feb77254957f16e492e81
Resolves issues 293 and 297.
Added the ability for an action to be associated with a buffer such that the action is executed when
the buffer is deleted using Yi.Editor.deleteBuffer. This is used by the minibuffer to assure the
focus is always as expected when the minibuffer is closed.
I'm only partially satisfied with this solution, but it works and is safer than the other solutions
I was going to apply ;-)
]
[Strokes/Haskell.hs: Fixed highlighing of hiding keyword
[email protected]**20090904172831
Ignore-this: 23d625570f5be8f8dde6eb8db4108f8a
]
[Yi.UI.Vty - DisplayBounds is now DisplayRegion
[email protected]**20090831205902
Ignore-this: c84085b27c53e739df99d3d289da52af
]
[use vert_cat and horiz_cat instead of vertcat and horzcat
[email protected]**20090829171101
Ignore-this: b89e8d08a0fc425100dfdac12f06bf66
]
[prefer Vty.char to renderChar
[email protected]**20090828041146
Ignore-this: 2de4c7ef9ebf642e84858f5b3da0f4ff
]
[Updating Yi.UI.Vty to compile with VTY 4.0. Does not run. Not optimal
[email protected]**20090827235512
Ignore-this: bd60f2f77e04f64da59197364630f102
]
[All haskell modes are based on the same token type
[email protected]**20090901112112]
[bind prettify in precise haskell mode
[email protected]**20090901111715]
[Update dollarify type, for consistency
Robin Green <[email protected]>**20090824145534
Ignore-this: c1fa5adc6f87a7f2b7f6bca5182719aa
]
[Resolve issue 296 - decode UTF-8 encoded directory entries before display.
[email protected]**20090828173158
Ignore-this: 24551172fd29f1570eadb33ff6c0207f
]
[Y/U/Ertai: update my config
Nicolas Pouillard <[email protected]>**20090828114929
Ignore-this: 2fb6c90aed8a0707ea3dd4a45c9cbf80
]
[Yi.Users.Corey - disable textToToken based annotations for now
[email protected]**20090828054156
Ignore-this: 76fd7bffd4a3b273d6bb1965f0167bc0
]
[dired patch
Wen Pu <[email protected]>**20090827080837
Ignore-this: ad7750a4858149db341b01a2f5f9d162
This patch is trying to:
1. Keep refining DiredOp and procDiredOp
2. Implement rename operation (when overwrites happen, "apply to all" ('!') is
not working correctly at this point.)
3. Fix naming problem
4. Take care of the pointer's position during diredRefresh
5. Add more comments
]
[better infrustructure for diredOp
Wen Pu <[email protected]>**20090824055425
Ignore-this: 2baaeb125a2a45ce5292ca16ec2d3063
1. Add a better infrustructure for dired operations
2. moving promptFile to Misc.hs
]
[Begin adding startInsertKeymap to KeymapSet
Jeff Wheeler <[email protected]>**20090819135439
Ignore-this: 9e91278e9a67f4f3765a6ba9f0098a61
]
[marks and file deletion in Dired
Wen Pu <[email protected]>**20090818053415
Ignore-this: 7788f25f1d19e90adba0f1e3aad25437
Modified the original unused diredMarks field in DiredState, added several mark
related functions, and a naive file deletion implementation.
Also fixed an minor bug in setting readonly dired buffer.
]
[haskell: treat 'newtype' as 'data'
[email protected]**20090817145131
Ignore-this: f875497db2e3ff16e20a4c41f24c6d0d
]
[syntax focusing: better handling of empty subtrees
[email protected]**20090817092330
Ignore-this: dd8770e07d0df998181dc5756ebdb5cc
]
[Fix the indentation in guards for real
[email protected]**20090817085759
Ignore-this: 732c74e19a361607c4788e33da42b2dd
]
[Fix indentation of guards in precise mode
[email protected]**20090817083719
Ignore-this: 3e202f311f9aed63b6844679e4cd325d
]
[Read-only Dired, 'u' to undo mark
Wen Pu <[email protected]>**20090817010607
Ignore-this: a5b4193b614509e15a77662a6cb8ac8f
]
[precise haskell: use focusing
[email protected]**20090816185448
Ignore-this: 1a84ce21edc70ca768b22572c63edc2f
]
[haskell strokes: don't repeat the default case
[email protected]**20090816185424
Ignore-this: c59bc500801fb06ef27fd0d261f63c7e
]
[further regularisation of the haskell ASt
[email protected]**20090816184928
Ignore-this: 832040d87f1936502bdbafdb15e4caaa
]
[Fix for Dollarify.hs
[email protected]**20090816155649
Ignore-this: 2954f48b95a3fe0172a22a4adb542d1b
]
[use the focusing driver as possible
[email protected]**20090816145011
Ignore-this: 69c8979481b1dbd375e8e8bdd69f6748
]
[oops, fix build
[email protected]**20090816144815
Ignore-this: 372a877d0631169400d02bae128148f4
]
[haskell: regularise the syntax type
[email protected]**20090816144441
Ignore-this: b2a65b9c43e92108e4ad8e3d90dc9f2
]
[fix Paren mode indent
[email protected]**20090816144211
Ignore-this: 12ae6635a700130bc5509414e36d52b7
]
[Fix the indentation hints in "clever haskell mode"
[email protected]**20090816133147
Ignore-this: e194ceddd8b1c3c4df45af23b6aba209
]
[remove obsolete code
[email protected]**20090816120845
Ignore-this: 1f46aefdf352c543c6e60b8d08bd6061
]
[Buffer-local transform KeymapSets
[email protected]**20090816120836
Ignore-this: 2a6121421c9e6e37766b4e98f96f3525
This may force to update the configuration! See ./src/Yi/Users/JP.hs.
Additionally:
* There is an extra field in the sets for "startup" keymap.
* This allows to put the "forever" in the right place, see extractTopLevel
* Buffer-local transformation can put hooks at more convienient places;
making them more powerful.
]
[Cmcq.hs update for testing how fast haskell mode is
[email protected]**20090815205416
Ignore-this: db67f49ee582e58e88c7aacd8fe273de
]
[Scrap the obsolete SubTree class
[email protected]**20090815193829
Ignore-this: 7ed307f78273cee20174b442b34001e5
]
[remove obsolete feature
[email protected]**20090815172830
Ignore-this: cf5acefc629383065afd25b60c14a74b
]
[Change the default insertion to True
[email protected]**20090815165910
Ignore-this: fed9bc814040e64643866f78e42021f1
This fixes #291 without additional complexity.
If one really wishes False for default, it could be a field in the Config record. If one wishes "top-level" writes in emacs keymap, the refactoring in #292 should be done first.
]
[syntax focusing: properly handle completely empty trees
[email protected]**20090815163430
Ignore-this: a8a78def7eae15b94a703e77d173f4b6
]
[fix emacs minibuffers
[email protected]**20090815161038
Ignore-this: a1c8d95bdad65c73a191c34a9b8b0ac1
(compilation mode is still broken)
]
[fix #291
[email protected]**20090815153134
Ignore-this: 246c685b055a5cfdb21a999ca6ce951d
My solution is simply to output the action once at the beginning instead after each keypress.
]
[Add keymap-debugging facilities
[email protected]**20090815151512
Ignore-this: 663797566b71fade1949f56d5e5415c8
]
[try a simpler solution to gathering pending events properly
[email protected]**20090815151225
Ignore-this: 7a4b1ded3563151537a422bea13b3a7b
]
[Attack issue #291 - pending key presses are not reliably shown
[email protected]**20090815141939
Ignore-this: 9ea7a1f966b5d8391567b01c2557050c
]
[Corrections to scrolling behavior
[email protected]**20090815101331
Ignore-this: c8c026b4fc6d3cbff6f27b9d218f2a8f
The window region should only be used after a call to the UI layout function,
since otherwise it may be out of date.
]
[paren: properly compute error tokens positions
[email protected]**20090815093124
Ignore-this: f7e8e602601d63b7c2f09b72b62c01e7
]
[Try to do EOF behavior better - layout should always follow a snapScreenB
[email protected]**20090814204317
Ignore-this: 6d233d961c94e5050e3ec6c26d05cd3d
]
[Pango optimization - there should only be one pango layout per refreshEditor
[email protected]**20090814203826
Ignore-this: 4ae408c7add8c2db1a8750c20509ef88
]
[use syntax focusing in linear modes
[email protected]**20090814200930
Ignore-this: bea31abd2fbb952a7675d494fa3e877b
]
[syntax focusing: properly handle empty subtrees
[email protected]**20090814200850
Ignore-this: 4ba7c527bfab69a0e4b58d119069047f
]
[clean up most of the OnlineTree obsolete code
[email protected]**20090814153034
Ignore-this: 3bb3e8cfd7650f3304498ac9e8ae75a3
This will make browsing big token-based mode files slower; fix upcoming.
]
[fix bug: gotoLn did not work if target was out of window
[email protected]**20090814123709
Ignore-this: 8eb2280101e1157f1384becf660e590d
]
[remove Yi.Syntax.BList
[email protected]**20090814123458
Ignore-this: 338d88f41b349a33dd5358b6a38d2e51
This is made obsolete by the new tree focusing technique
]
[Create 'cd' action in Vim keymap
Jeff Wheeler <[email protected]>**20090813201931
Ignore-this: 7d0a402c7aeb2b9d81050d76ec6e47bf
]
[Delete default tab titles
Jeff Wheeler <[email protected]>**20090813192905
Ignore-this: d3d5c5ec73651c1abdc9710026fb0afe
I originally added these to aid in developing tab support. The tabs work quite
well now, so I'm removing the out-of-place default titles.
]
[Implement insertTabBefore
[email protected]**20090813185311
Ignore-this: fe29aec58e993d04e64093535ed8dc1b
]
[Clicking should end the selection
[email protected]**20090813185125
Ignore-this: 7d9b74b32d0ab3145961806a77914b2c
]
[Set tab title even in minibuffer
[email protected]**20090813185036
Ignore-this: f708595afa4c59727a84fb81f4f51da6
The tab shouldn't be left unnamed, but perhaps there could be a nice way of
getting the name of the buffer the minibuffer is attached to.
]
[Try to correct scrolling behavior at end of file
[email protected]**20090813164520
Ignore-this: 1c13900f495a73d6ab1fd79145b0bd5e
Before, if you open a new buffer and type, then window would scroll as soon as
you typed past the middle line of the screen. It should only scroll when you
type past the last line.
]
[Resizing should relayout
[email protected]**20090813162402
Ignore-this: 88062049c63ea7e174dc19e3ae8aef98
This fixes a layout problem where the first keypress in a new tab would be
handled as if the window had height 0.
]
[Allow the Pango frontend to control the current tab
[email protected]**20090813162354
Ignore-this: ba470a0a08b6b7baa22ebbb99af33630
]
[Fix typo
Jeff Wheeler <[email protected]>**20090813151542
Ignore-this: 8e4793c567c9926abee50582ced119aa
]
[Clean up Pango frontend a bit
[email protected]**20090813145732
Ignore-this: d61a1cceba2a6e75087d94e8f13ec234
]
[reorder refresh phases
[email protected]**20090813090801
Ignore-this: 14a15ea36974d4dea613eb233f7852b9
1. snapScreen
2. layout
3. snapIns
]
[Restore the "pointFollowsWindow" attribute
[email protected]**20090813083736
Ignore-this: 7cfc30453b0c6b4c45287dc91957b56
The other solution is to recompute the window right after a scrolling
operation. I don't like it, because it makes the buffer code depend on the UI
code.
This decision can be revisited if we have a common layout mechanism for all
UIs.
]
[Fix previous change - deleteBuffer should be a no-op if there's only one buffer
[email protected]**20090812215353
Ignore-this: ae9635db6b27f276b3bacca9b7417b4a
]
[fix build
[email protected]**20090812211524
Ignore-this: 42e8300b5366b047c892e0b726f587a
]
[haskell: use new syntax driver
[email protected]**20090812200232
Ignore-this: e84b023ccebcba1a21c11a7321346197
This affects the so caller "cleverMode" -- ie. the current default haskell mode.
The effects of this patch are:
* Asymptotically faster browsing of files.
This is very noticeable on large files like the Vim keymap; browsing the
end of it can be twice as fast.
* Sometimes the display of the syntax is delayed by one keystroke.
I'll look into this soon.
]
[regularise the Paren.Tree type
[email protected]**20090812153240
Ignore-this: a50e73e6df107efd4995cc73139296b
]
[prune focused trees
[email protected]**20090812142244
Ignore-this: b116b06b8fc22a9ad00bec2377c173bd
]
[fix bug in tree-focusing alg
[email protected]**20090812114352
Ignore-this: 99d333c909385d18f648570a37636e23
]
[remove BList from the Latex parser
[email protected]**20090812114338
Ignore-this: 2617968ecbf75e2bc6c85b32d9c8b428
]
[improve the tree-focusing algorithm
[email protected]**20090812085446
Ignore-this: 6208e72d992afa04d35b00ecd8f96b05
]
[comment
[email protected]**20090811184848
Ignore-this: 8a099810a3158efe412a818dec59225a
]
[JS: Minor documentation changes/fixes.
Deniz Dogan <[email protected]>**20090811220901
Ignore-this: 32dd351a0fef21713afeeacd191045d8
]
[ParserTest.hs: Minor documentation fix.
Deniz Dogan <[email protected]>**20090811195856
Ignore-this: 29550e50124c29c896ecb5ba9ddc29f3
]
[Add buffer opening test to Cmcq.hs
[email protected]**20090811185518
Ignore-this: b44fb47a18be87ca8554365ddeea490
]
[bufAccessLists were hanging on to old BufferRefs
[email protected]**20090811182757
Ignore-this: 953535204efa857de8b4f717be4dad05
]
[Neaten up previous patch
[email protected]**20090811173423
Ignore-this: efcb1034052b33276e7ac2adb09b0538
]
[switchToBufferE leak
[email protected]**20090811170003
Ignore-this: 4e70218ae3e48060d0e447a90d4634c
]
[Avoid excessive nubbing; this also avoids a leak if history isn't forced
[email protected]**20090811154943
Ignore-this: 2baae4dec0168b089ae38f71ead80115
]
[Optimization for updating Gtk attributes
[email protected]**20090811124917
Ignore-this: 50bf83c172d6e21e299b2bebc4d922e9
]
[Don't focus every window
[email protected]**20090811124825
Ignore-this: 959d3859557ba815bfd88194e8dc4b35
This corrects a problem where the main title was not set after changing
the window until you press a key.
]
[Add support for focusing syntax in Core
[email protected]**20090811120919
Ignore-this: 2146d884059fd5ae4c108aebfb62d5a5
]
[fix some bugs in the tree navigation code
[email protected]**20090811120613
Ignore-this: c4da6b4760f40be66bffb70d789862f
]
[remove obsolete function
[email protected]**20090811120421
Ignore-this: 1f1019a8066d1d54d641a3160102a4c8
]
[Small optimization for counting the number of lines in a chunk
[email protected]**20090811114903
Ignore-this: 4cfb522e669ac3991524b43ac179183f
]
[Let the window region be a mere value
[email protected]**20090811091025
Ignore-this: 7398fca5647509ae51e363b9f8b09b93
This simplifies things for what's coming.
Also, this probably speeds up things, since the region is calculated
only once per layout. When it's a function from FBuffer, it must be
recomputed every time the region is fetched.
(And I'm just about to add a systematic usage of the region field right
after the layout)
]
[Add Pango support to Cmcq.hs
[email protected]**20090811075623
Ignore-this: cfa07cd579f8ec058532c5ac978b5777
]
[Avoid triggering a GHC bug with -Wall
[email protected]**20090811075321
Ignore-this: fd476dc3c656328fd6036e15a9eeba
I think this is http://hackage.haskell.org/trac/ghc/ticket/1148
]
[Fix a leak in Pango and add a comment about what I was trying to achieve
[email protected]**20090811071718
Ignore-this: b97724a63e1522761f513f376c7153cb
]
[Haskell: accept noise (as errors) after a where clause
[email protected]**20090810213310
Ignore-this: 792997fa1133ce8d5b9c5ce8af99c7c6
]
[Add a focusing-aware syntax driver
[email protected]**20090810211750
Ignore-this: 846acd8cc501902fe5706c8c5c18ca3e
+ Have a test latex mode for it.
]
[latex: use regular datatype
[email protected]**20090810140846
Ignore-this: a500916f87fc569a0e9b050f1aab26f9
]
[remove an ambiguity (fix (part of) #284)
[email protected]**20090810135015
Ignore-this: 54412695d3c2fd665deb114921c3de06
]
[comments
[email protected]**20090810132709
Ignore-this: b27fdd78faa94df93f4aa39055e1ec5f
Colin: Do you know why the "getRegion" field of Window takes a Buffer parameter?
There is only one buffer in the window...
]
[introduce separate operation to focus the AST on a region
[email protected]**20090810132534
Ignore-this: 42b1251ad5667d61b6ea2bbbb6f15701
]
[support "type instance"
[email protected]**20090810132510
Ignore-this: 264ac77870908d6637f34fd93071df5
]
[Fixing doc build error in JS verifier.
Deniz Dogan <[email protected]>**20090810071821
Ignore-this: 4c311eef2d9866d2449f21458a135c3a
]
[update contributors record
[email protected]**20090809085613
Ignore-this: a1546cebc39c76a6e344f6a017b411b
]
[yet another leak
[email protected]**20090808180140
Ignore-this: 99b5dfc885a6f729ad0c23a9934c4755
]
[fix one more leak
[email protected]**20090808175101
Ignore-this: a57dd6be960de68975c5adb812ca75e8
]
[fix another leak
[email protected]**20090808143001
Ignore-this: 55cb38df5781f543f949212487de0a54
]
[Make sure user-configured executables do not check for recompilation
[email protected]**20090808101412
Ignore-this: fb85bda8587a71b497bc412b4dec12f
]
[fix a memory leak; also improve the style somewhat
[email protected]**20090807210932
Ignore-this: 12b9966fd67f3ebf9a2e5bc48a7b98ef
]
[comments
[email protected]**20090807145224
Ignore-this: cd54987d02e554390155379e64fca9d0
]
[Small -Wall
Jeff Wheeler <[email protected]>**20090807201940
Ignore-this: a47f4362b5843092857f46d9946c063c
I can't figure out how to get rid of the Interact import warning. GHC warns
that nothing from it is used, but when it's removed, it errors on several
missing definitions.
]
[Further simplify Pango cleanup
Jeff Wheeler <[email protected]>**20090807164415
Ignore-this: c14446d5fb767eda23a93fb8f53eab03
]
[Cleanup cmd prompt in Pango
Jeff Wheeler <[email protected]>**20090807164215
Ignore-this: addad521132db83c7a42aac5584e9be
]
[Use os(windows) instead of flag(cautiousWrites)
Jeff Wheeler <[email protected]>**20090807154709
Ignore-this: 41b3e380a053594714a7ef4f999b6cad
]
[Added -threaded to ghcOpts to dyre. Also added -O2 for good measure
[email protected]**20090807151158
Ignore-this: 5f2dd1abf7ca9b7732a5606d681ac964
]
[Data.Rope: Wall police.
[email protected]**20090807151630
Ignore-this: 1ed8b505ebea327c6835a03522aa405c
]
[Create -fcautiousWrites flag
Jeff Wheeler <[email protected]>**20090807141002
Ignore-this: aa928f59b0504cf929fc1add772c238c
cautious-file doesn't work on Windows (does a lot of POSIX FFI), so create a
flag for Windows users. I don't immediately see how to make this automatically
disabled on Windows.
]
[update Makefile to HConf's removal
[email protected]**20090807140127
Ignore-this: c89d669230d4866cf7efa5cd245a06b8
]
[put back ./src/Yi/Boot.hs-boot
[email protected]**20090807075554
Ignore-this: 3ef65ba478b225e58d3ae5ecdd7a226d
]
[Pass the relevant region to hlGetTree
[email protected]**20090807074805
Ignore-this: ddca19cac4ccd2092165d10da7f76f89
]
[Various small cleanup
Jeff Wheeler <[email protected]>**20090807031545
Ignore-this: e91b296031b6404f9343dea4cf6bd6d3
]
[Replace HConf with Dyre
Jeff Wheeler <[email protected]>**20090807024443
Ignore-this: 6eaa2b9095f94f42ed4807a7cc245a80
]
[Update Yi.Users.Jeff
Jeff Wheeler <[email protected]>**20090806200459
Ignore-this: 7497c0b7430917c406dbd00bef5c071d
]
[make sure error tokens are created with the proper offset
[email protected]**20090806104250
Ignore-this: 53b883aa483ab17d0fbc03a59e60f036
]
[Fix examples/yi-simple.hs
Jeff Wheeler <[email protected]>**20090805150935
Ignore-this: 3a69c18df58cf16300b677596efe65f4
]
[JS: Fixing Eq instance bug.
[email protected]**20090805144840
Ignore-this: ff39ce625064620d6a1a3af163c3d64d
]
[JS: Adding "typeof" support and fixing "if" stroking.
[email protected]**20090608123516
Ignore-this: 135f71bef169ed0082f215283588f5c6
]
[JS: Fixing some error highlighting.
[email protected]**20090607150633
Ignore-this: 54ebf9a3a88852c4fc234b93e42c82d6
Due to lack of proper testing, some errors were not highlighted. There may be
more errors that are not highlighted, but this is all I have time with for now.
]
[Add functions to navigate trees based on paths
[email protected]**20090804182036
Ignore-this: e68e11a1a68a2ebcd4d87c83a5edea6a
]
[fix includedRegion
[email protected]**20090804181751
Ignore-this: 211cb7c0179260e79a6f3bebedf8f0fe
]
[Syntax/Haskell.hs: Removed unnecessary code
[email protected]**20090804170049
Ignore-this: 5a6c6eaa0241133388a68bd002e891dc
]
[Syntax/Haskell.hs: Fix bug that was introduced in last patch
[email protected]**20090804164547
Ignore-this: d48cc9319555101ea8969517e02d1084
Last patch didn't allow comments after the closing brace in
data declaration records.
]
[Syntax/Haskell.hs: Fixed a bugg where comments were allowed in several places in a data declaration
[email protected]**20090804154238
Ignore-this: 324075dad772bc9c801e43636d932f88
]
[Syntax/Haskell.hs: fix bugg in explicit structured do blocks
[email protected]**20090804145306
Ignore-this: 49e1493713c6407528a369d36584a28c
]
[Fix saving files that don't exist yet
Robin Green <[email protected]>**20090731091545
Ignore-this: 14938e3386a5c2bb0689c401f84a6c9b
]
[work towards some utility functions to find the most relevant node to a given window
[email protected]**20090802113925
Ignore-this: 6977af749ec47bf1ddac1db5ccc350c9
]
[support type signatures for multiple ids at once
[email protected]**20090731135859
Ignore-this: ba0b88fda7ee396e07c8b8a85901fcea
]
[Eliminate useless parts of the datatype
[email protected]**20090731131337
Ignore-this: 8b98f51b265e5e2d5b4c019cfa4744ad
]
[simplify field declarations
[email protected]**20090731125758
Ignore-this: b4c550fe35065e750c6fb94ee0c650fd
]
[new rules for type declaration / equation declaration only
[email protected]**20090731125619
Ignore-this: d232bfe9d2f2d8535fb57f5f9e8d16cb
]
[simplify "type" declarations
[email protected]**20090731101447
Ignore-this: 9ce257bcfca7e9196ef356bdfa31d110
]
[simplify pData and improve support of GADT
[email protected]**20090731100725
Ignore-this: a785cbafd22d2ff397d159875d9ca6ec
]
[generalize and simplify class and instance declarations
[email protected]**20090730220426
Ignore-this: ce61e808ebb1c3ba82405610dfa78342
]
[define a function for "bare" token parsing (without comments)
[email protected]**20090730214854
Ignore-this: 5648d78f6e78961c5ec9f3212d11f2c8
-> use it where suitable
]
[Simplify pGuard
[email protected]**20090730211615
Ignore-this: f6092e6fb3949d474ccabe2b7d4ad333
]
[simplify pFunRHS
[email protected]**20090730210420
Ignore-this: ae304cbeac6a93955cfcf2891c964c55
]
[=> are ok in type expressions (contexts)
[email protected]**20090730210019
Ignore-this: 1afb9ac3eb9d689f2e1f7d046dc0c639
]
[simplify where blocks
[email protected]**20090730205938
Ignore-this: 2e088e4c84b9287724e790fdbbce7302
]
[cleanups
[email protected]**20090730143603
Ignore-this: b9ce6fbf628e393e58168c15f0855739
]
[simplify pFunDecl
[email protected]**20090730142650
Ignore-this: 4c00be1932b55fd9d46d599cc2fdec6d
]
[add support for type expressions
[email protected]**20090730134720
Ignore-this: 92de0693f77d59d5c3dedf31d2026766
]
[separate patterns and expressions
[email protected]**20090730115422
Ignore-this: 96646209eb90d2c660f4b82f21e69766
]
[cleanups
[email protected]**20090730081036
Ignore-this: e34e6869758293bea3926462f3f10740
]
[Add a rule for Lambda
[email protected]**20090729223826
Ignore-this: 35fb3ca734551a198af932191c9c7060
]
[be even more precise about what is noise
[email protected]**20090729221527
Ignore-this: 7f6629b935af5c1f50ea6bec885e5f43
]
[make parser test more lazy
[email protected]**20090729215733
Ignore-this: fa59721b640540722a81d47bea4fc7b2
]
[Be more precise with what is acceptble as "noise" or not
[email protected]**20090729211655
Ignore-this: d7e3117a5c81550a953c240a986b2385
]
[More precise definition of pOf, RHS and cleanups
[email protected]**20090729204812
Ignore-this: 9a07dfa516657ea99c9741a4f4e41c9c
]
[comments
[email protected]**20090729183150
Ignore-this: 7f297536f572451ce21139de9d65df58
]
[pBlock: support braces
[email protected]**20090729173846
Ignore-this: 37edc6939928f8ebff2dedad65e1dbf7
]
[push code in pBlock
[email protected]**20090729172847
Ignore-this: f68f653b92a9ea71aa7db5fd5f822447
]
[Add rules for Do and Of
[email protected]**20090729172305
Ignore-this: ccd4323b8732b2bba40c3e85bbec389f
]
[Update Makefile (src/ and `build' target for run-inplace)
Jeff Wheeler <[email protected]>**20090730021443
Ignore-this: e20ac749846b4b3693116a1ce0af17b5
]
[renamings, simplify the structure of expressions
[email protected]**20090729150250
Ignore-this: f185c215051d14f2cda5e2c827efa8bf
]
[style
[email protected]**20090729143358
Ignore-this: 9a4f7c3967f2103e0aa866eb3acf02a0
]
[Preserve permissions
Robin Green <[email protected]>**20090728001241
Ignore-this: a11043e7cd39b82fb8a0435558fbdf
Fixes bug 281
]
[improved rule for "let"
[email protected]**20090727122849
Ignore-this: 4a6629914f28a1d6f7fdb31fa116120c
]
[style
[email protected]**20090727122840
Ignore-this: d415bc6bea1c5abbf8e2e93bcb31fd5a
]
[comments
[email protected]**20090727115657
Ignore-this: 85eddc0ce96eac04f50d4f9171373495
]
[one more test case
[email protected]**20090727101357
Ignore-this: dca46467ad8eb3fe643969ec45434bd7
]
[More style
[email protected]**20090727101347
Ignore-this: 2c8acb5ff408eef4c5524bcd1fb5292f
]
[properly handle set of extra recognized symbols
[email protected]**20090727101202
Ignore-this: 4bbeed8fa89060d8222cc79aaf9cc366
]
[style
[email protected]**20090727094938
Ignore-this: 14d2c01497e0d9f595f01183c9fc9c02
]
[In is always properly recognized
[email protected]**20090727094912
Ignore-this: 4d024aa05b07ab95a149091b0d9bf7a4
]
[Move tests to where they should be; add new test case
[email protected]**20090727094404
Ignore-this: e093d34bb29fd75a51d66ef6068ea8bb
]
[The set of "added recognized symbols" can be used in isNoiseErr too
[email protected]**20090726201542
Ignore-this: a6168a9b0ad0ee0d9474bd1b1bffbc02
]
[Equal is not properly recognized in record declarations
[email protected]**20090726201226
Ignore-this: cd6ca20d67e831ec576ba819b35e01dc
As of this patch, there is an error in parsing OnlineTree.hs
]
[Pipe is normally not a recoverable symbol
[email protected]**20090726195627
Ignore-this: f5d115de9ce5dce1b937710fdf4cd25a
]
[simplify isNoiseErr
[email protected]**20090726195326
Ignore-this: e64e896c3401adb2feb2b18e108d4280
]
['{' is not noise
[email protected]**20090726195108
Ignore-this: 50ad62a8cabe23d7032800079dff5119
]
[renamings
[email protected]**20090726194951
Ignore-this: cb58110c4c77afc9a5940d861edc413d
]
[comment
[email protected]**20090726194648
Ignore-this: f435323a3a956b5d2f3560a8e2f39352
]
[use the endBlock name if possible
[email protected]**20090726194412
Ignore-this: 1e586405922ba85141869025777ebf3d
]
[Syntax/Haskell.hs: Removed the error lists that was sent around
[email protected]**20090726162902
Ignore-this: a1ca2964c2c4ca7aca6b4f6102f9fa76
]
[comment left-factorisation of type and equation
[email protected]**20090726152954
Ignore-this: e20e8f2d4828128de7779635e5dc476
]
[Properly classify all reserved operators
[email protected]**20090726152917
Ignore-this: d860f37687bc82817a67bbb7a8bab974
]
[Syntax/Haskell.hs: pFunLHS is now called pFunDecl
[email protected]**20090726124315
Ignore-this: b86a96e804a054bcc63251db700f125a
]
[Fix copyright notice and add comments
[email protected]**20090726122521
Ignore-this: ad993e80c48321e8a1f52e97fd8a974
]
[remove dead duplicated code
[email protected]**20090726120848
Ignore-this: c1533705de6aae1aef141902ffde470f
]
[update pointedlist minimum version
[email protected]**20090722145832]
[Syntax/Haskell.hs: cleanup
[email protected]**20090716171425
Ignore-this: f92dc85a1dd3fe46835e4f87dbff9a6d
]
[Yi.Scion -Wall
Jeff Wheeler <[email protected]>**20090720220649
Ignore-this: 40bc67b9009310e78a7247219c3f8288
]
[Use cautious-file to save files
Robin Green <[email protected]>**20090720054854
Ignore-this: b05a76ae0e4384df5f0cd05b19c6f2a0
The cautious-file package tries to reduce the risk of data loss
]
[scion: experiments
[email protected]**20090719094610
* Copied stuff from the Server to find things; the functionality to get info
about the stuff on the cursor is better.
* Tried cabal load; failed.
]
[Makefile: add ghc package to interactive rule
[email protected]**20090719094544]
[cleanup published actions
[email protected]**20090719094502]
[expose Scion stuff if available
[email protected]**20090719094417]
[Don't show mini buffer titles for tabs or windows
Jeff Wheeler <[email protected]>**20090719025509
Ignore-this: f13b34599c9545d22e5e9d60f47b9e09
]
[Use a proper Gtk Statusbar, rather than just a label
Jeff Wheeler <[email protected]>**20090718223540
Ignore-this: 434a6f538c2035aca2d16995ef609692
]
[Add doc/monads.html, which documents how to run actions in different contexts
Jeff Wheeler <[email protected]>**20090718221618
Ignore-this: 75b3a6f0a2b1349f6e2c4129c17339fa
I'd love if somebody with a better understanding of these monads could mark out which cases are impossible.
]
[Char.Unicode: add superscripts
Nicolas Pouillard <[email protected]>**20090718175401
Ignore-this: 5d6b5ce01b91364604bd02b27231e191
]
[Move haskell source files into src/
Jeff Wheeler <[email protected]>**20090718151803
Ignore-this: 397bcfe14a6774159d408b76ed67f74c
I think this greatly simplifies the structure of the base directory, since we had so many source directories in the root.
]
[Store "inserting" attribute in buffer's Attributes
Jeff Wheeler <[email protected]>**20090718074250
Ignore-this: cb3a7bef598aff38f408bda712863b85
]
[Small -Wall
Jeff Wheeler <[email protected]>**20090718074226
Ignore-this: a4db1393555aeb3d87a84e7c137d1db6
]
[Support tab abbreviation in Pango
Jeff Wheeler <[email protected]>**20090718055856
Ignore-this: 4c71ae4cedff8d2e8b35de2d05e43390
]
[Add brief documentation for Yi.Scion.functionType
Jeff Wheeler <[email protected]>**20090718055821
Ignore-this: af358fe0b3156e7fd0503af23133ac53
]
[Hide left pane entirely until Scion integration is possible
Jeff Wheeler <[email protected]>**20090718053340
Ignore-this: 943257258e7ed7c0c128aa072c050067
]
[Respect configs to not line-wrap in Pango (adds horizontal scrollbar support)
Jeff Wheeler <[email protected]>**20090718043917
Ignore-this: f85d431996d7941c0eedcc89401f02ab
]
[Correctly show modeline in Pango (and small -Wall)
Jeff Wheeler <[email protected]>**20090718030411
Ignore-this: 14c66d8a1d6246ea80600970f0e4dedc
]
[Show modeline in Pango
Jeff Wheeler <[email protected]>**20090718022849
Ignore-this: b73c2b34b677ded1c77a60908e28a58d
]
[Fix Yi.Config.Default to use functionType scion action by default
Jeff Wheeler <[email protected]>**20090718012444
Ignore-this: d36a0c838d0b0ed9ee1c9fba40a50c4f
]
[Cleanup in Yi.Scion (and yi.cabal)
Jeff Wheeler <[email protected]>**20090717234111
Ignore-this: ebc69031d112f37be61ab771c597da2a
]
[Begin Yi.Snippets.Haskell
Jeff Wheeler <[email protected]>**20090717223905
Ignore-this: df637f5aa30b6b11d2af9aecd42484d7
As far as I can tell, dependent bits don't currently work. Is this correct?
]
[Update my config, based on Yi.Scion
Jeff Wheeler <[email protected]>**20090717223116
Ignore-this: c5aa2626985e47b3b92ecc85d0c5ed25
]
[Integrate Jeff's scion bindings
[email protected]**20090717210028
Ignore-this: 846107b07de052d21fea418291d62af7
]
[add Jeff's config
[email protected]**20090717202115
Ignore-this: 156fbfba29496d7efc760aed13ce1c4c
]
[grepFind: fix argument order
[email protected]**20090716094545
Ignore-this: 43614cb6a300dec516482cd39306ec6a
]
[Syntax/Haskell.hs: Small improvements
[email protected]**20090715095310
Ignore-this: a6846c241b670efb5cc3cc3b0779aa8f
]
[TAG 0.6.1
Jeff Wheeler <[email protected]>**20090714203551
Ignore-this: 3a5417411f2772b433887f3c80c44627
]
Patch bundle hash:
61358a5b7711fc2099e79587bd2257516f4c8b03
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEAREKAAYFAktF9/EACgkQvpDo5Pfl1oJL9QCdG0N9DOUMdiaDZyU3RdAKxu5d
tr0An3/CwDncq3Y7BDbHHByPfuJgOJRH
=vu3L
-----END PGP SIGNATURE-----