Kevin Sawicki
b2b00a7b39
Update branch text on save
2012-11-02 15:33:07 -07:00
Kevin Sawicki
e4fb12a398
Add octicon to branch label
2012-11-02 15:31:11 -07:00
Kevin Sawicki
88cdff9d26
Return full HEAD when unshortened
2012-11-02 15:31:11 -07:00
Kevin Sawicki
d66315dd21
Abbreviate SHA-1s when HEAD is detached
2012-11-02 15:31:10 -07:00
Kevin Sawicki
14302c491d
Show current branch in status bar
2012-11-02 15:31:10 -07:00
Nathan Sobo
3fbf5653c4
Update the status bar asynchronously on cursor move / buffer change
...
This keeps it out of the synchronous path from pressing a key to seeing it inserted on screen.
2012-11-02 15:46:33 -06:00
Nathan Sobo
adbcb9f49e
Only consider BindingSets with a binding for first keystroke of event
...
The keymap was slow because it would find the binding sets with matching selectors for every ancestor of every keydown event. The problem was, it was considering a lot of binding sets that didn't even have a binding for the event in question. Now we index all binding sets on what bindings they contain, and filter them by that first. Rejecting an event that has no bindings is almost instantaneous now.
2012-11-02 14:13:03 -06:00
Nathan Sobo
2c211ba504
Remove ability to associate a binding set with a function
...
This was cool, but it's really hard to optimize the keymap with this feature because we never know if a keystroke will match against a binding set with a function, which will force us to always consider this binding set against every key event.
2012-11-02 13:39:21 -06:00
Nathan Sobo
0c3498d29f
Cleanup/optimize Keymap#keystrokeStringForEvent
2012-11-02 13:25:33 -06:00
Nathan Sobo
045cdda41d
Fix cursor line highlight style
2012-11-02 12:16:03 -06:00
Corey Johnson
83329567b9
Use the file's first line to determine the grammar.
...
Only when it cannot be determined by the file's extension fails. Fixes #75
2012-11-01 17:47:31 -07:00
Corey Johnson
41291021c4
Use entire filePath to determine its grammar
2012-11-01 17:47:31 -07:00
Nathan Sobo
c6075b0fa6
Optimize highlighting of the current line in the gutter
2012-11-01 17:37:50 -06:00
Nathan Sobo
1d838e920c
Cache the maxScreenLineLength
...
Computing this requires a full scan of all screen lines. Here I keep it updated as I add / remove lines. If I remove the line with the max length, I am forced to scan all of them again. But this happens relatively rarely. Usually I only need to scan the lines I'm replacing and inserting.
2012-11-01 17:37:50 -06:00
Corey Johnson
abfe3b93cc
Add css styling to CommandPanel errors
2012-11-01 15:56:24 -07:00
Corey Johnson
9afda88c8c
CommandPanel shows command errors
2012-11-01 15:56:24 -07:00
Corey Johnson
79a7d35798
CommandPanel commands have optional error messages
2012-11-01 15:56:23 -07:00
Corey Johnson
837005176c
animation 💄
2012-11-01 15:56:23 -07:00
Corey Johnson
e56ac29b15
Clean up test for escaped characters in command panel
2012-11-01 15:56:22 -07:00
Corey Johnson
8681898a42
CommandPanel escapes characters with a backslash in front of them
2012-11-01 15:56:22 -07:00
Corey Johnson
eed474435d
💄
2012-11-01 15:56:22 -07:00
Corey Johnson & Nathan Sobo
c88e9f95ac
s and x commands operate on the entire buffer if no address specified.
...
(and there is no selection)
2012-11-01 15:56:22 -07:00
Corey Johnson
7d6539068b
if no address if specified for the first command, the address range become the entire file
2012-11-01 15:56:21 -07:00
Nathan Sobo
66518a3c67
Don't have autocompleter rebuild its word list on every keystroke
2012-11-01 16:04:42 -06:00
Nathan Sobo
ea87c55db5
Don't clear the selection if it's empty
...
This avoids emitting selection change events when they aren't really needed. This extra event was causing the highlighted line to be updated when it didn't need to be.
2012-11-01 14:50:51 -06:00
Nathan Sobo
9cbcc9e7e3
Eliminate another unnecessary call to highlightCursorLine
2012-11-01 14:43:43 -06:00
Nathan Sobo
a0770c41db
Avoid some calls to highlightCursorLine
2012-11-01 14:33:34 -06:00
Nathan Sobo
aa3405cb2b
Cache the memory contents of Buffer for better performance
2012-11-01 14:09:58 -06:00
Nathan Sobo
2efc91aad1
Optimize highlightCursorLine by using cached element references
2012-11-01 13:51:22 -06:00
Nathan Sobo
5249e5e69c
Fix spec failures caused by editor css changes
2012-11-01 12:25:33 -06:00
Nathan Sobo
42d0c53a60
Use min-width on rendered lines to replace js logic w/ CSS
2012-11-01 11:49:50 -06:00
Nathan Sobo
5f9e248aec
Clip the screen position after translating it from a buffer position
...
This is instead of applying redundant clipping logic directly within the translation method.
2012-11-01 07:15:51 -06:00
Nathan Sobo
085adb72ce
Pass translation options through when setting buffer position
2012-11-01 07:15:51 -06:00
Nathan Sobo
00bcb7a1b9
Make position translation understand hard tabs
2012-11-01 07:15:51 -06:00
Nathan Sobo
df1a7e1866
Make gutter rendering specs pass
2012-11-01 07:15:51 -06:00
Nathan Sobo
3d12269315
DisplayBuffer specs passing with greatly simplified LineMap
2012-11-01 07:15:51 -06:00
Nathan Sobo
8ae08dc21d
I don't think we need this line anymore
2012-11-01 07:15:50 -06:00
Corey Johnson
dbf8639375
Rename anchor.ignoreEqual to anchor.ignoreChangesStartingOnAnchor
2012-10-31 14:27:31 -07:00
Corey Johnson
84ea1017f4
Anchor.ignoreEqual works properly
...
The anchor ignores buffer changes when ignoreEqual is true and the oldRange.start == anchor.position
2012-10-31 14:27:21 -07:00
Nathan Sobo
887200de86
Use cached disk contents instead of signature for Buffer.isModified
...
Computing the signature was really slow for large files. Keeping a cached copy of the disk contents and comparing directly costs less in the benchmark. We'll have to turn on the status bar in benchmarks to see if the comparison is too expensive.
2012-10-31 12:36:14 -06:00
Nathan Sobo
980c5d6b11
Add support for native tracing w/ atom.begin/endTracing in console.
...
* Open the dev tools console
* Call `atom.beginTracing()`
* Do stuff
* Call `atom.endTracing()`
* Save the file somewhere
* Open `about:tracing` in chrome and load the file
* Inspect away!
2012-10-31 11:39:58 -06:00
Corey Johnson & Nathan Sobo
b85f3c47eb
Rewrite Seleciton.setScreenRange in terms of setBufferRange
2012-10-30 17:07:15 -07:00
Corey Johnson & Nathan Sobo
426c952d73
shift-double-click and shift-triple-click are ignored.
2012-10-30 16:43:00 -07:00
Nathan Sobo
007e032224
Expand selection linewise after triple-click (dragging or shift-click)
2012-10-30 14:48:33 -06:00
Corey Johnson & Nathan Sobo
c55332a3a4
WIP: Make selections remember if they are wordwise/linewise
...
Also always expand from the initial selection after a double/triple click in either direction until directionality of the selection is established.
2012-10-30 13:56:35 -06:00
Corey Johnson & Nathan Sobo
5b7e96067a
moveCursorToBeginningOfWord works when preceded by a blank line
2012-10-30 12:05:46 -06:00
Corey Johnson & Nathan Sobo
46fc7f2375
Redefine word regex to consider sequences of non-word chars as words
...
This does *not* include newlines. Doing this makes it possible to double-click regions of whitespace to select them just as you can select a word. It also makes word movement bindings behave similarly to TextMate.
2012-10-30 11:56:05 -06:00
Corey Johnson & Nathan Sobo
8c7152a59b
Eliminate 'move-cursor-to-next-word' command
...
We have move-to-end-of-word and move-to-beginning-of-word, which is what we use for the current keybindings.
2012-10-30 11:56:05 -06:00
Corey Johnson
89ac3f1c82
Project.scan works with escaped regex literals
2012-10-29 16:04:01 -07:00
Nathan Sobo
8a3f932bfa
Merge branch 'hide-selection-cursor'
2012-10-29 16:54:34 -06:00