Commit Graph

6487 Commits

Author SHA1 Message Date
Antonio Scandurra
8db49fc08d Document existing behavior 2015-12-15 17:20:01 +01:00
Antonio Scandurra
14f959e13d Merge pull request #9997 from atom/as-cjk-wrap-boundary
Wrap line at boundary if it includes a CJK character
2015-12-15 12:09:52 +01:00
Max Brunsfeld
a16b99fa58 Merge pull request #10062 from atom/mb-emit-state-update-on-model-scroll
Emit state update when model's scroll position is changed
2015-12-14 17:38:36 -08:00
Max Brunsfeld
02ab7179ce Emit state update when model's scroll position is changed 2015-12-14 16:56:53 -08:00
Antonio Scandurra
4b6a218bb9 Start to move stuff back into TextEditorPresenter 2015-12-14 15:53:01 +01:00
Antonio Scandurra
cfb30c795d Use an updated version of LineTopIndex 2015-12-14 15:04:54 +01:00
Antonio Scandurra
2e7048d8c6 Merge pull request #10028 from atom/ns-remove-presenter-flags
Remove non-essential update guard flags from TextEditorPresenter
2015-12-14 11:43:19 +01:00
Nathan Sobo
3d8058a9a4 Remove failing redundant assertions
The expectNoStateUpdate is sufficient to test the issue in question. Now
that most flags are removed, we can’t count on this part of the state
not being updated when we request a state recompilation.
2015-12-11 14:02:57 -07:00
Nathan Sobo
5cfd3423bf Use internal scroll assignment methods when committing logical positions
This prevents an addition pending assignment and cuts directly to
adjusting the positions.
2015-12-11 13:34:46 -07:00
Antonio Scandurra
fa48b2fbe0 Make v8 version part of the key 2015-12-11 17:47:04 +01:00
Antonio Scandurra
a63c294dfd 🎨 2015-12-11 15:39:29 +01:00
Antonio Scandurra
1f5473b2dd Test cache invalidation 2015-12-11 15:37:56 +01:00
Antonio Scandurra
12376039a9 🎨 cjk -> CJK 2015-12-11 14:28:26 +01:00
Antonio Scandurra
173fbba02b Wrap at the first CJK character before the boundary 2015-12-11 14:26:51 +01:00
Antonio Scandurra
4bf86b2b9e Merge branch 'master' into as-cjk-wrap-boundary 2015-12-11 13:49:53 +01:00
Antonio Scandurra
c5562d8446 Allow to supply an invalidation key to FileSystemBlobStore 2015-12-11 13:38:50 +01:00
Antonio Scandurra
cdd4212400 Pass an invalidation key in NativeCompileCache 2015-12-11 12:47:17 +01:00
Nathan Sobo
85c6139579 Don’t force DOM updates in LinesYardstick
Instead, determine the need for a DOM update in the component before
measuring with the lines yardstick, and break `updateSync` into two
explicit pre- and post-measurement phases.
2015-12-10 14:47:05 -07:00
Antonio Scandurra
c22cae451b Wrap line at boundary if it includes a CJK character 2015-12-10 10:18:24 +01:00
Antonio Scandurra
3253c0d5cd Don't rely on spaces to test korean characters' width behavior 2015-12-10 10:07:46 +01:00
Antonio Scandurra
9a2c3a49e7 Expose a isCjkCharacter text utility 2015-12-10 10:01:03 +01:00
Antonio Scandurra
769b7bcd89 Merge branch 'master' into as-deserialize-untitled-editors
# Conflicts:
#	package.json
2015-12-09 08:48:04 +01:00
Max Brunsfeld
d835ac0ac8 Add spec for re-registering schema after unloading package 2015-12-08 11:27:20 -08:00
Max Brunsfeld
03a2846eb5 Remove redundant unloadPackage call in spec 2015-12-07 17:24:34 -08:00
Antonio Scandurra
1f955f0aab 🔥 💚 Remove outdated spec
This made the build fail because we were checking that a TextEditor couldn't
have been serialized when the path didn't exist. This is exactly the opposite we
want to do for restoring untitled editors, therefore I think it's safe to delete
this test.

/cc: @nathansobo for extra 👀
2015-12-07 22:03:28 +01:00
Max Brunsfeld
5825fb51b5 Merge pull request #9948 from dirk-thomas/order_config_cson
save config.cson in alphabetic order
2015-12-07 11:19:56 -08:00
Antonio Scandurra
a8a9581ef4 🎨 Use only id 2015-12-07 19:57:30 +01:00
Antonio Scandurra
e0bb800dd3 Write integration spec 2015-12-07 15:54:22 +01:00
Antonio Scandurra
f7a4ef4a84 Deserialize also untitled buffers 2015-12-07 14:47:23 +01:00
Dirk Thomas
6e2061c076 add spec for ordered config.cson 2015-12-06 17:15:13 -08:00
Antonio Scandurra
1c5c973823 Merge branch 'master' into as-user-keybindings-priority
# Conflicts:
#	spec/package-manager-spec.coffee
2015-12-04 16:18:56 +01:00
Antonio Scandurra
c578f221bf Test ::invalidateBlockDecorationDimensions 2015-12-04 15:42:49 +01:00
Antonio Scandurra
b77c45859c Merge branch 'master' into as-block-decorations
# Conflicts:
#	spec/text-editor-presenter-spec.coffee
2015-12-04 14:44:19 +01:00
Antonio Scandurra
7554f71f74 Make sure screen row is set correctly on <content> 2015-12-04 14:21:23 +01:00
Antonio Scandurra
14d8ecefdd 💚 Fix LinesYardstick specs 2015-12-04 12:54:20 +01:00
Antonio Scandurra
16525047f1 💚 Fix component and presenter specs 2015-12-04 12:49:59 +01:00
Kevin Sawicki
1fac3cb4e2 Merge pull request #9620 from DouweM/window-title
Use em-dash in window title and exclude app name on OS X
2015-12-03 16:23:43 -08:00
Wliu
2b694bb4b1 Merge pull request #9921 from atom/wl-update-for-js-scope-changes
Update specs for language-javascript changes
2015-12-03 17:26:17 -05:00
Max Brunsfeld
fe5b1b70e8 Fix paragraph motions in the presence of CRLF line endings 2015-12-03 12:07:15 -08:00
Max Brunsfeld
76b6ca5043 Make CRLF word-movement tests pass 2015-12-03 11:52:45 -08:00
Max Brunsfeld
71d2761c1a Merge pull request #9763 from dranzerashi/patch-1 2015-12-03 10:30:48 -08:00
Antonio Scandurra
f2a0221519 Make sure block decorations are always in the right spot 2015-12-03 18:16:10 +01:00
Antonio Scandurra
cc4344735e 💚 Fix specs 2015-12-03 17:11:38 +01:00
Antonio Scandurra
36103a024a Make sure to add screen row to block decoration nodes 2015-12-03 16:26:15 +01:00
Antonio Scandurra
555d77afa6 Do not remove invisible decorations on ::mouseWheelScreenRow 2015-12-03 15:45:47 +01:00
Antonio Scandurra
e4655c62e4 💚 Fix false negative 2015-12-03 15:07:54 +01:00
Antonio Scandurra
5f6f99259e Ensure custom gutters work properly 2015-12-03 15:05:14 +01:00
Antonio Scandurra
f22bd5d0ae 🐎 Use ids instead of classes 2015-12-03 11:52:10 +01:00
Antonio Scandurra
937116a280 Render only visible and yet-to-be-measured block decorations 2015-12-03 11:26:45 +01:00
Wliu
d85af0d3f4 💚 again 2015-12-02 21:39:12 -05:00
Wliu
ecd14f3390 💚 let and var are now storage.type.var.js
Refs atom/language-javascript#277
2015-12-02 20:47:27 -05:00
Antonio Scandurra
9ef3ecf378 Handle off-screen measurements properly 2015-12-02 18:34:57 +01:00
Antonio Scandurra
5228471bc5 Write failing spec for measuring invisible elements 2015-12-02 17:04:33 +01:00
Antonio Scandurra
e10fdc234b 🐛 Coordinate conversion is hard 2015-12-02 16:26:10 +01:00
Antonio Scandurra
5bcdcbeef6 🎨 2015-12-02 16:13:44 +01:00
Antonio Scandurra
f30e4ccc9d Use the new LineTopIndex in TextEditorPresenter 2015-12-02 16:01:55 +01:00
Antonio Scandurra
1e07b8df05 Handle position between rows correctly 2015-12-02 09:13:06 +01:00
Antonio Scandurra
e0b1cabb21 Implement a linear structure for block decoration coordinates
We still cannot handle `::rowForTopPixelPosition` when the passed top position
is in the middle of two rows and there's also a block decoration. We'll get
there eventually.

Also, the specs in this commit should serve as a good test suite for the future
logarithmic data structure.
2015-12-01 19:33:37 +01:00
Antonio Scandurra
d24290357a Implement block decorations in the components land 2015-12-01 13:36:23 +01:00
Antonio Scandurra
47b16c513c Make sure cursors are updated with respect to block decorations 2015-12-01 09:48:11 +01:00
Max Brunsfeld
3827b19da4 Merge pull request #9687 from atom/mb-deprecate-load-time-package-code
Provide package.json fields so we can defer requiring packages' main modules
2015-11-30 15:53:37 -08:00
Nathan Sobo
f139992585 Avoid infinite recursion in Error.prepareStackTrace
Previously, prepareStackTraceWithStackAssignment could end up calling
itself when third-party code assigned Error.prepareStackTrace back
to its original value. Now, we short-circuit this process if the
rawStack property has already been assigned.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2015-11-30 10:51:21 -08:00
Max Brunsfeld
a36fc301f9 Merge branch 'master' into mb-deprecate-load-time-package-code 2015-11-30 10:51:14 -08:00
Max Brunsfeld
228e67838c Suppress false coffeelint error 2015-11-30 10:51:03 -08:00
Max Brunsfeld
d058814957 Merge remote-tracking branch 'origin/master' into mb-deprecate-load-time-package-code
Conflicts:
	package.json
2015-11-30 10:20:31 -08:00
Antonio Scandurra
526a97562e Include block decorations as a separate object on presenter's state 2015-11-30 15:05:15 +01:00
Antonio Scandurra
8a54a2c15b Use a boolean in each line state object 2015-11-30 14:44:58 +01:00
Antonio Scandurra
539a5b0ae7 🐎 Do as little pixel conversion as possible
We desperately need a tree-based data structure. 😢
2015-11-30 14:34:16 +01:00
Antonio Scandurra
b998e7f2d9 🐎 Incremental updates for block decorations 2015-11-30 14:03:45 +01:00
Antonio Scandurra
0159d5c31e 🎨 2015-11-27 16:58:08 +01:00
Antonio Scandurra
6ad21307cc Provide blockDecorationsHeight for each line number 2015-11-27 16:27:01 +01:00
Antonio Scandurra
6365c86992 Include blockDecorations inside each line's state 2015-11-27 14:32:01 +01:00
Antonio Scandurra
e1e06580c1 Move position conversion in LinesYardstick 2015-11-27 12:47:47 +01:00
Antonio Scandurra
0b5638f749 Make sure tile positions are computed correctly 2015-11-27 10:47:25 +01:00
Antonio Scandurra
a9cb1bda8d Use ::positionForRow in ::updateTilesState
The algorithm is still super sloooow 🐌, but we'll fix that in a later
commit.
2015-11-27 10:16:38 +01:00
Antonio Scandurra
02651b7a58 🎨 Rename to ::setBlockDecorationDimensions 2015-11-26 16:10:08 +01:00
Antonio Scandurra
96863eef1c Ensure content scrollHeight takes block decorations into account
Seems like all these properties in the presenter's state share a common
contract, which we should probably extract. It could also mean there's an
underlying design problem, because we are testing two dimensions of the same
behavior in a single spec.
2015-11-26 15:44:59 +01:00
Antonio Scandurra
30da4bdb0c Ensure gutter scroll height takes block decorations into account 2015-11-26 15:43:34 +01:00
Antonio Scandurra
89d9a2ce83 🎨 Create block decorations in TextEditor
This is just an experiment, although I like that we can hide some information
(irrelevant to the user) behind a clean API.
2015-11-26 15:40:08 +01:00
Antonio Scandurra
c8254566ef Change verticalScrollbar's height according to block decorations 2015-11-26 15:34:45 +01:00
Antonio Scandurra
5dfd765bcf Do not override user-defined keymaps when reloading packages 2015-11-26 10:39:47 +01:00
Nathan Sobo
8978691831 Merge pull request #9773 from atom/mb-ns-prepare-stack-trace-fixes
Allow Error.prepareStackTrace to be temporarily reassigned
2015-11-24 11:59:53 -07:00
Antonio Scandurra
c061b27076 2015-11-24 17:36:44 +01:00
Antonio Scandurra
9376738918 Make spec async because of Promise-based API 2015-11-24 12:28:31 +01:00
Max Brunsfeld
327cf6997b Remember which packages use atom APIs at main module load time
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-11-23 17:35:38 -08:00
Max Brunsfeld
24938c0361 Defer loading view providers until activation or deserializer use
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-11-23 16:28:08 -08:00
Max Brunsfeld
d6e5ea8564 Defer requiring packages' main modules if they use new package.json fields 2015-11-23 16:05:32 -08:00
Max Brunsfeld
2d29fd6e79 Load config schemas from packages' package.json files 2015-11-23 15:53:26 -08:00
Max Brunsfeld
4bc46db355 Still assign error's raw stack when prepareStackTrace is overridden
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-11-23 15:30:11 -08:00
Max Brunsfeld
4616b426b0 Allow Error.prepareStackTrace to be temporarily reassigned
Fixes https://github.com/atom/atom/issues/9660

Signed-off-by: Nathan Sobo <nathan@github.com>
2015-11-23 15:22:15 -08:00
Douwe Maan
b11d0c2585 Use em-dash in window title and exclude app name on OS X 2015-11-21 14:09:00 +01:00
Max Brunsfeld
30b3cb249e Merge pull request #9636 from DouweM/unique-title
Use unique text editor title in window and tab titles
2015-11-20 16:55:38 -08:00
Nathan Sobo
3e22d9f7a2 Merge PR #9607 with a small change 2015-11-20 10:41:22 -07:00
Nathan Sobo
704da43800 Prevent spec from closing window 2015-11-20 10:34:05 -07:00
Antonio Scandurra
a546005c65 Merge pull request #9709 from atom/as-fix-longest-screen-row-issue
Compute content width when the longest row is the first one
2015-11-20 09:24:33 -08:00
Antonio Scandurra
93481c8a0d Move ::isTextEditor down into Workspace 2015-11-19 17:56:53 -08:00
Antonio Scandurra
85ee586e2e More specs 2015-11-19 17:30:33 -08:00
Antonio Scandurra
d427091b49 Write specs for ::isTextEditor 2015-11-19 17:04:18 -08:00
Max Brunsfeld
cb2b068d77 Load view providers from files specified in package.json 2015-11-19 16:58:20 -08:00
Antonio Scandurra
0218431c62 🐛 Compute content width when the longest row is the first one 2015-11-19 16:38:20 -08:00