Commit Graph

7041 Commits

Author SHA1 Message Date
Antonio Scandurra
6c34844956 🐛 Don't try to recover the same file twice 2016-05-26 11:27:56 +02:00
Antonio Scandurra
49a603a873 Show also a message box when recovery is not successful 2016-05-25 15:54:39 +02:00
Antonio Scandurra
c2b01d54b8 Make coupling looser between the recovery service and the windows 2016-05-25 15:46:37 +02:00
Antonio Scandurra
1a7858c9f1 Log a more informative message when cannot recover a file 2016-05-25 15:15:53 +02:00
Antonio Scandurra
3ce7d0a974 Merge branch 'master' into as-file-recovery-service 2016-05-25 14:04:16 +02:00
Antonio Scandurra
c8fae110e7 Handle recovery when many windows save the same file simultaneously 2016-05-25 14:01:36 +02:00
Antonio Scandurra
3b4c1015cc Forget window when it gets closed 2016-05-25 11:54:09 +02:00
Antonio Scandurra
5e3f343e41 Merge branch 'master' into as-main-process-test-runner 2016-05-25 11:03:10 +02:00
Antonio Scandurra
df0b3dedd7 browser -> main-process 2016-05-25 11:02:29 +02:00
Antonio Scandurra
e57b35f8de Merge branch 'master' into as-file-recovery-service 2016-05-24 19:16:31 +02:00
Antonio Scandurra
209e9d8d9c Add coverage for position: 'after' in cursor's state specs 2016-05-24 10:54:01 +02:00
Antonio Scandurra
c0bed9ab50 🐛 Enforce block decorations to be 'before' by default 2016-05-24 10:49:59 +02:00
Antonio Scandurra
75d4919489 Restore concurrency on renderer specs 2016-05-24 10:01:12 +02:00
Antonio Scandurra
7a12984af3 🔥 Unused requires on specs 2016-05-24 09:28:58 +02:00
Antonio Scandurra
4f1efe6ef6 👕 Fix linter errors 2016-05-24 09:28:00 +02:00
Antonio Scandurra
c7f4b33eb8 Emit informative warning when a file can't be recovered 2016-05-24 09:04:06 +02:00
Antonio Scandurra
858740cd5f 📝 Better description on spec 2016-05-24 08:32:29 +02:00
Antonio Scandurra
25fece4a1a 🎨 file-recovery-service-spec.js -> file-recovery-service.spec.js 2016-05-24 08:24:41 +02:00
Antonio Scandurra
62d48c64ea Add --main-process flag to run specs in the main process
…so that we can write unit tests for code in the main process. Below a
list of conventions we'll be adopting:

1. Use mocha as the test framework.
2. Use chai as the assertion library.
3. Name specs `foo-bar.spec.js`, to prevent the renderer process from
running specs written fro the main process e.g. when calling
`atom --test spec`.
4. Write specs in ES6.

Although somewhat inconsistent with the conventions we use for renderer
process specs, this will hopefully be a first step towards migrating our
entire Jasmine 1.3 test suite to a more modern environment.
2016-05-24 08:23:27 +02:00
Antonio Scandurra
97dd25d14f 💚 2016-05-24 08:10:48 +02:00
Antonio Scandurra
57195d7ba6 Write specs for FileRecoveryService 2016-05-23 21:10:04 +02:00
Antonio Scandurra
ef3ab03d28 Emit {will,did}SavePath on ipcMain before/after a buffer is saved 2016-05-23 18:37:26 +02:00
Antonio Scandurra
ad166db6c4 Don't use temp for integration tests socket creation 2016-05-17 13:56:57 +02:00
Antonio Scandurra
896abe358c Merge pull request #11765 from atom/as-fix-presenter-uncaught-exception
Don't render line-numbers corresponding to lines that need measuring
2016-05-16 14:21:43 +02:00
Antonio Scandurra
c13346a455 Show folded marker in the first screen row of a soft-wrapped buffer row 2016-05-16 11:23:54 +02:00
Antonio Scandurra
b5b324875e Don't render line-numbers corresponding to lines that need measuring
Rendering those line numbers in the gutter isn't useful, and it puts
unneeded pressure to the DOM. In the process of changing
`updateLineNumbersState`, we have also refactored it to stop relying on
row ranges being contiguous. This allows that code path to be:

1. Less error-prone, because we were trying to access rows that weren't
actually rendered, thus potentially throwing errors when measuring
non-contiguous screen rows that weren't visible.
2. Tighter, because we can just iterate over each screen row and ask for
its soft-wrap descriptor.
2016-05-16 10:58:37 +02:00
Antonio Scandurra
d06da3f470 Reset display layer when editor.atomicSoftTabs changes 2016-05-05 09:10:36 +02:00
Damien Guard
4da23fdc91 Merge pull request #11639 from BrainCrumbz/squirrel-refactor-pieces
🏁 refactor registry and PoSH out of squirrel-update
2016-05-04 14:17:15 -07:00
Antonio Scandurra
ca041384fe Merge pull request #11414 from atom/ns-switch-to-display-layers
Use display layers facility of text-buffer; delete all the code they replace
2016-05-04 20:46:15 +02:00
Damien Guard
ee3425d543 Merge pull request #11323 from clickthisnick/master
Update Grammar In Spec Files
2016-05-04 11:22:37 -07:00
Damien Guard
d3825e87f3 Merge pull request #11642 from atom/dg-buffered-process-options-shell
Fix some Buffered-Process specs, honor options.shell in Atom
2016-05-04 10:19:04 -07:00
Antonio Scandurra
3b46d7f50b Merge branch 'master' into ns-switch-to-display-layers
# Conflicts:
#	src/text-editor.coffee
2016-05-04 18:56:45 +02:00
Damien Guard
48703864c8 Switch to process.platform, stop clobbering process var and move windows block 2016-05-03 15:22:13 -07:00
Josh Abernathy
3781bd2062 Merge pull request #11671 from atom/disentangle-text-editors-global
Remove TextEditor's dependency on the textEditors global
2016-05-03 10:33:41 -04:00
Antonio Scandurra
36bcb542a8 Don't move down a line if it's the last buffer row 2016-05-03 12:58:59 +02:00
Lee Dohm
72721af3c6 Merge pull request #11478 from atom/ku-prompt-save-as-if-save-fails
Prompt user to save as if save fails
2016-05-02 17:36:56 -07:00
Damien Guard
7542a401ff BufferedProcess whole-string spec now cross-platform 2016-05-02 15:37:36 -07:00
joshaber
d325e02def Test it. 2016-05-02 11:32:38 -04:00
Willem Van Lint
73748ef768 Order listeners by reverse registration order 2016-05-01 16:48:09 -07:00
Antonio Scandurra
f4a31261d0 Delete indent guides code from the presenter and the component
…because we're handling that behavior in `TextEditor` and `DisplayLayer`
now.
2016-05-01 11:48:39 +02:00
Antonio Scandurra
1c694df03b Don't show indent guides for mini editors 2016-05-01 11:42:28 +02:00
Antonio Scandurra
4f5efe98ff Overshoot to the nearest character when text nodes are not contiguous 2016-05-01 11:05:14 +02:00
Antonio Scandurra
334b4c1104 Overshoot to the end of the text node when the position cannot be found
...because the only possible scenario when a logical position in a text
node cannot be found is when the requested pixel position is exactly at
the end of the node.
2016-04-30 11:51:54 +02:00
Antonio Scandurra
02d9245c05 Merge branch 'master' into ns-switch-to-display-layers 2016-04-30 11:10:17 +02:00
Antonio Scandurra
005022567b Merge pull request #11348 from atom/wl-drewmnoel-electron
Update Electron to 0.36.12
2016-04-30 09:19:17 +02:00
Antonio Scandurra
7b2f049cbb 🎨 Refine binary search algorithm 2016-04-29 16:51:51 +02:00
Antonio Scandurra
c5a76d4a7d Persist the entire state on reload
This fixes an annoying problem that prevented the state of marker layers
from being saved when the window was reloaded either via `Cmd+R` in
DevTools or via `Ctrl+Option+Cmd+L` in Atom.

The issue was that we were *always* scheduling `saveState` on an idle
callback: `window.onbeforeunload`, however, doesn't wait for that event
before closing the window, and thus that state was never saved in those
situations.

The solution is to use idle callbacks only during the critical code path
(i.e. on mousedown and keydown), but save it synchronously otherwise.
Saving something to IndexedDB is actually asynchronous too, but it seems
like Chrome fulfills `put` requests that get executed right during
`onbeforeunload`.
2016-04-29 14:41:34 +02:00
Damien Guard
d3ee21941a Fix some specs on Windows and honor options.shell 2016-04-28 12:23:44 -07:00
Antonio Scandurra
f2a497d591 Don't create folds for empty ranges 2016-04-28 13:43:00 +02:00
Antonio Scandurra
57442781ec Fix bug when positioning cursors after the fold-marker 2016-04-28 13:31:28 +02:00