Commit Graph

2455 Commits

Author SHA1 Message Date
Corey Johnson
81fc8d417d Add Git.isModified(path) 2012-11-02 15:35:21 -07:00
Kevin Sawicki
094b5a3604 💄 2012-11-02 15:33:39 -07:00
Kevin Sawicki
20c69118ff Decorate ignored files/folders in tree-view 2012-11-02 15:33:38 -07:00
Kevin Sawicki
28db13dbc1 Add specs for status bar branch label 2012-11-02 15:33:37 -07:00
Kevin Sawicki
8e8ab4ff94 Add getPath helper 2012-11-02 15:33:37 -07:00
Kevin Sawicki
1609fd61ec Set text before showing 2012-11-02 15:33:37 -07:00
Kevin Sawicki
8d623f99fb Update branch text from subscribeToBuffer 2012-11-02 15:33:37 -07:00
Kevin Sawicki
a3ef53f8e6 Return repository for all paths 2012-11-02 15:33:07 -07:00
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