Commit Graph

3848 Commits

Author SHA1 Message Date
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
d21d079bb7 Delete specs for old version of LineMap and ScreenLine
The specs on `DisplayBuffer` and `Editor` cover the behavior of these lower-level objects in a more robust way.
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
Corey Johnson
7793a04172 Filled in anchor specs 2012-10-31 14:27:07 -07:00
Nathan Sobo
5e17a24009 Benchmark suite 💄 2012-10-31 12:50:28 -06: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
c6cd484356 Add a benchmark for inserting / deleting at end of 9000-line file 2012-10-31 12:34:18 -06:00
Nathan Sobo
43d02b316c Eliminate benchmark for outdated OnigRegExp.getCaptureTree code 2012-10-31 12:33:47 -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
74f60dbb95 Remove call to logScreenLines 2012-10-30 17:08:13 -07: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
Corey Johnson
2bb5770a8b Update CEF to Release 1271 r869 2012-10-30 14:26:21 -07:00
Corey Johnson
b436d9467e Enhance ./script/update-cef
It will now update or download a specific release of CEF and Chromium, compile CEF/Chromium, and copy the needed files to Atom.
2012-10-30 14:26:19 -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
Nathan Sobo
733264dc91 Don't highlight gutter lines when there's a multi-column selection 2012-10-29 16:42:51 -06:00
Nathan Sobo
aa20fbac6d Ignore an empty last line when indenting/outdenting selected lines
This provides more intuitive behavior now that the cursor isn't visible when there's a selection.
2012-10-29 16:16:19 -06:00
Nathan Sobo
db3d788664 Toggle line comments ignores last row of selection if it ends at col 0
Now that the cursor is hidden at the end of a selection, it's counter-intuitive for the commenting to extend to the next line since there's no visual indicator that the cursor extends to that location.
2012-10-29 16:04:09 -06:00
Nathan Sobo
88e246b622 Hide the cursor when the selection is not empty 2012-10-29 15:51:32 -06:00
Corey Johnson
47c6a3a790 Ensure spans are ended in buildLineHtml 2012-10-29 13:47:44 -07:00
Corey Johnson
40673549cb Quotes only automatically close if they are opened after a non-word character. 2012-10-29 13:12:28 -07:00
Corey Johnson
51b2871e02 Remove unused subtract method in point (it did not behave correctly) 2012-10-29 13:12:28 -07:00
Nathan Sobo
c8c581dfd0 Remove Selection#modifyScreenRange and rely on cursor/anchor events 2012-10-29 13:11:17 -06:00
Corey Johnson
1924e92727 Create method getTokenizedBuffer() on language mode
Instead of assigning a tokenizedBuffer property on LanguageMode instances from the TokenizedBuffer constructor.
2012-10-29 11:54:14 -07:00
Corey Johnson
82e0a458fa Do not automatically close quotes when inserted inside a string. 2012-10-29 11:54:13 -07:00
Corey Johnson
f7f64ea9f3 Only log require.resolve warning when verifyExistence is true 2012-10-29 11:54:13 -07:00
Nathan Sobo
e649b2e6c6 Handle standard pasteboard keybindings in the dev tools
This commit adds a boolean constructor parameter to the AtomCefClient indicating whether it should handle the standard pasteboard commands for its associated browser. We pass `true` when constructing the client for the dev tools, so these commands work there.
2012-10-29 11:45:16 -06:00
Kevin Sawicki
86c4f7a805 Include objective-c in default bundles 2012-10-27 09:07:59 -07:00
Kevin Sawicki
2531665570 Add Buffer.isEmpty()
To be used by Buffer.isModified() for when the
buffer has no backing file
2012-10-27 08:57:55 -07:00
Corey Johnson
d5dfda8a7d Fix extension keymap loading 2012-10-26 15:36:15 -07:00
Corey Johnson
bdb0d2c709 Log a warning when require.resolve cannot find the file 2012-10-26 15:36:15 -07:00
Corey Johnson
540f651061 Only compile coffee files in src static and vendor 2012-10-26 15:36:15 -07:00
Corey Johnson
70976a96a8 Don't explicitly require .coffee files 2012-10-26 15:36:15 -07:00
Corey Johnson
f0f0985c96 Don't require non-existent stream file 2012-10-26 15:36:15 -07:00