Commit Graph

15105 Commits

Author SHA1 Message Date
Nathan Sobo
76d84a7890 Handle multiple selections intersecting a line in duplicateLines 2017-01-12 13:38:19 -07:00
Damien Guard
fbb5482b91 Merge pull request #13599 from atom/dg-add-hash-to-quoted-command-escaping
Add # to chars that cause quote escaping for commands
2017-01-12 09:24:04 -08:00
Wliu
4c2e2203e0 🔥 unused getPixelRect function 2017-01-12 11:28:02 -05:00
Damien Guard
8684bca708 Add # to chars that cause quote escaping for commands 2017-01-11 22:56:53 -08:00
Nathan Sobo
c3ac59a617 Merge pull request #13583 from atom/ns-skip-periodic-serialization-of-huge-buffers
Disable periodic serialization for buffers > 2MB
2017-01-11 11:27:05 -07:00
Christopher Chedeau
ef7ce7cd3a Always reserve two digits on the line number gutter
We are working on a feature that changes the content of the editor when you mouse over some things and it makes the UI jump when going from 1 line to > 10. This makes the UI feel really bad.

I've looked at Sublime and the 1-9 state is the same as 1-99, only when you reach 100 lines then it jumps. I think that it is a better behavior as you want to minimize jumps as much as possible and it is extremely likely that you are going to hit the 9-10 lines threshold.

![](http://g.recordit.co/ABIlZf5eTx.gif)

While this is being reviewed and until the new version shipped, we are going to monkeypatch Atom in order to get this feature.

```js
var presenter = atom.textEditors.editors.entries().next().value[0].presenter.__proto__;
var old_updateLineNumberGutterState = presenter.updateLineNumberGutterState;
presenter.updateLineNumberGutterState = function() {
  var res = old_updateLineNumberGutterState.apply(this, arguments);
  this.lineNumberGutter.maxLineNumberDigits = Math.max(2, this.lineNumberGutter.maxLineNumberDigits);
  return res;
};
```

Released under CC0
2017-01-10 18:14:50 -08:00
Nathan Sobo
dea7cc23e3 Disable periodic serialization for buffers > 2MB
Writing so much data to IndexedDB is blocking the main thread for
perceptible amounts of time. A patch-based representation of the
modified state could allows us to pay only for what has changed, but is
too complex to justify implementing right now to support full crash
recovery for large files.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2017-01-10 15:55:36 -07:00
Max Brunsfeld
6dd35ec9d5 Merge pull request #13564 from vovkasm/fix-12495
Save initial paths immediately on change
2017-01-09 11:29:32 -08:00
Nathan Sobo
730c7c82a8 Don't add pane items in built-in resource openers
Calling `workspace.open` in an opener doesn't work properly with options
like `split: left` because it causes the opened item to be added to the
workspace as a side-effect. Since workspace openers are intended to be
used during the process of calling `workspace.open`, we need to use
`openTextFile`, which just creates an editor but does not attach it to
the workspace.
2017-01-09 10:57:31 -07:00
Vladimir Timofeev
a21841e5f3 Merge commit '1320ff28c39afd563820b30b43389ea38552e74c' into fix-12495 2017-01-07 01:19:50 +03:00
Ian Olsen
d35a63aa6a Basic test for user keymap loaded event 2017-01-05 17:12:02 -08:00
Ian Olsen
8d212b10d4 Add an event for after the user keymap has loaded. 2017-01-05 10:49:09 -08:00
Max Brunsfeld
ed5c1c1e15 Don't convert paths to real paths when building text buffers 2017-01-04 14:57:53 -08:00
Nathan Sobo
3960a214e2 Call debounced cursor blink resume callback any time the cursor moves
Previously, we were only calling the debounced resume callback when the
cursor was already blinking, but this meant we didn't renew the debounce
window. This in turn meant we attempted to start blinking the cursor
again every 100ms regardless of cursor interactions, which was consuming
an extra frame and causing cursor movement to not feel smooth.
2017-01-04 10:41:04 -07:00
Max Brunsfeld
d1a52b6db8 Merge branch 'master' into mb-ns-mitigate-leaks 2017-01-03 15:33:56 -08:00
Max Brunsfeld
126f5380ba Emit editor destroyed event after releasing the editor's buffer 2017-01-03 15:18:01 -08:00
Max Brunsfeld
6f13159549 Don't throw exceptions when using editor APIs after destroying the editor
Signed-off-by: Nathan Sobo <nathan@github.com>
2017-01-03 14:00:50 -08:00
Damien Guard
5325490a35 Brackets inexplicably need to be quoted in the command bit (but not in args). Fixes #13346 2016-12-31 14:32:34 -08:00
Max Brunsfeld
d0d187f36a Reduce the impact of leaking Editor, Selection, & Cursor objects
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-12-30 16:43:44 -08:00
Damien Guard
efbe2cee76 Convert win-shell.coffee to win-shell.js 2016-12-27 16:24:06 -08:00
Lee Dohm
640497081e 👕 2016-12-22 16:39:40 -08:00
Lee Dohm
fd5feab5b3 📝 Add documentation for findTooltips 2016-12-22 16:05:10 -08:00
Christopher Chedeau
a33ab44966 Add atom.tooltips.findTooltips(target)
Right now, it is not possible to hide a tooltip programatically. This is useful when we know better than the tooltip implementation that we did an action that should hide it.

After discussing with @lee-dohm, he suggested the findTooltips API that mimicks the KeyMapManager API.

Released under CC0
2016-12-23 00:01:42 +00:00
Nathan Sobo
8fbf42dfd5 Limit line decoration update to visible row range
Previously, if we had selections exceeding the visible range we would do
a bunch of unnecessary work and rendering would become very slow.
2016-12-21 18:26:14 -07:00
Michelle Tilley
5693c4a1b7 Merge pull request #13460 from atom/mkt-transpile-packages-during-tests
Use package-specific transpilation options during tests
2016-12-20 08:08:34 -08:00
Michelle Tilley
e788a19bfe Show full dir to item in title bar if item not in a project folder 2016-12-19 19:33:00 -08:00
Michelle Tilley
c1a947e47a Show problematic filename when failing to execute a file 2016-12-16 16:38:25 -08:00
Michelle Tilley
e2583145aa Transpile packages with pack-specific transpiler during tests 2016-12-16 16:37:58 -08:00
Max Brunsfeld
2095015e82 Merge pull request #13453 from atom/mb-ns-integrate-new-display-layer
Use new text-buffer version with a more efficient DisplayLayer
2016-12-16 10:25:10 -08:00
Damien Guard
dd62b91cb5 Merge pull request #13441 from atom/dg-windows-project-folder
Custom icon for jumplist projects
2016-12-16 10:05:30 -08:00
Max Brunsfeld
4a12354e9a Increase default file size for large-file warning 2016-12-16 09:21:38 -08:00
Nathan Sobo
f468c43446 Fix lint errors 2016-12-15 16:50:58 -07:00
Max Brunsfeld
34c8e25eff Avoid temporarily clearing DisplayLayer params in TextEditor.copy 2016-12-14 20:09:46 -08:00
Max Brunsfeld
39302aed35 Remove unnecessary comparisons to current params in TextEditor.update
Now the DisplayLayer internally avoids unnecessary work when reset() is
called with its existing parameters.
2016-12-14 20:09:46 -08:00
Nathan Sobo
feb60ca0d3 Merge branch 'master' into farnabaz-master 2016-12-14 13:34:21 -07:00
Max Brunsfeld
d7b86d9187 Merge remote-tracking branch 'origin/master' into mb-ns-integrate-new-display-layer 2016-12-14 12:16:50 -08:00
Damien Guard
a8f2d18d4c Custom icon for jumplist projects 2016-12-13 19:15:42 -08:00
Max Brunsfeld
e339aab590 Clip screen range end backward when dragging gutter
Signed-off-by: Nathan Sobo <nathan@github.com>
2016-12-13 17:27:31 -08:00
Nathan Sobo
5e8c3c7668 Constrain the followingRow to the line count in moveLineDown 2016-12-13 00:03:13 -07:00
Nathan Sobo
8a8819beb4 Use new boundary methods for moving lines up/down
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2016-12-12 17:13:13 -07:00
Ian Olsen
f9c96818e6 Merge pull request #13272 from atom/fb-vjeux-fix-gutter-prepend
Fix prepending multiple gutters at once
2016-12-12 15:55:46 -08:00
Damien Guard
b83bb95b56 Merge pull request #13426 from atom/dg-portable-enhancement
Portable mode enhancements
2016-12-12 15:55:17 -08:00
Nathan Sobo
953e8eec0e Merge branch 'master' into MikeInnes-overlay-scroll 2016-12-12 08:38:38 -07:00
Damien Guard
5a446ff467 Clean up portable mode, try local .atom before ATOM_HOME 2016-12-11 15:59:24 -08:00
Farnabaz
95edf2f174 Handle ranges with multiple rect in LineYardstick 2016-12-11 01:13:19 +03:30
Damien Guard
9efae86238 Merge branch 'as-dg-remove-spacepen-from-reopen-project-list-view' 2016-12-09 16:44:35 -08:00
portal
5301c55669 Add desktop.ini to ignored names 2016-12-09 19:00:11 +02:00
Max Brunsfeld
6f4a506517 Remove InputComponent.getDomNode method
Access the dom node directly in TextEditorElement instead

Signed-off-by: Damien Guard <damieng@github.com>
2016-12-08 16:12:26 -08:00
Max Brunsfeld
efd20774de Make each atom-text-editor keep a consistent hidden input node for its lifetime
Signed-off-by: Damien Guard <damieng@github.com>
2016-12-08 16:05:45 -08:00
Joe Fitzgerald
9be8373930 Remove console warning
- Per @nathansobo, we’re not sure whether it’s even helpful to know this
2016-12-09 10:03:42 +11:00