Commit graph

465 commits

Author SHA1 Message Date
Alasdair Smith
681e67ecea Be more consistent with naming 2018-05-18 11:29:27 +01:00
Alasdair Smith
846f27f0ad Clear highlights that are "touching" the cursor on change
This means that correcting a mistake won't wait until the request has resolved and that only the word at the end of the line will have it's spelling
highlight removed instead of the entire row
2018-05-18 11:29:27 +01:00
Alasdair Smith
2be023c731 Prevent spell error marker adding newly typed characters 2018-05-18 11:29:27 +01:00
Alasdair Smith
9fa85400b3 HighlightedWordManager is more naive about tracking position
We are relying entirely on Ace's tracking of markers with the anchor trick.
This means that we don't have to apply changes to ensure that the word manager
data structure tracks which row the highlights are on. This is traded off
against slightly less efficient searching/removing
2018-05-18 11:29:27 +01:00
Alasdair Smith
ebf1b7c84c Extract SpellCheckAdapter to separate file 2018-05-18 11:29:27 +01:00
Alasdair Smith
d2bba0eb60 Fix firefox not closing contextmenu correctly 2018-05-18 11:29:27 +01:00
Alasdair Smith
034531d323 Replace word with suggestion and learn word 2018-05-18 11:29:27 +01:00
Alasdair Smith
cf123ce857 Extract spellMenu component and use when showing spell suggestions 2018-05-18 11:29:27 +01:00
Alasdair Smith
e6ffaaa489 Handle contextmenu for spelling 2018-05-18 11:29:27 +01:00
Alasdair Smith
8de2267824 Adapt aceEditor to use new spell check manager with adapter 2018-05-18 11:29:27 +01:00
Alasdair Smith
22e41cdce7 Simplify word manager to use Range + Anchor to automatically keep marker positions up-to-date
Re-implement highlighted word manager to be simpler
2018-05-18 11:29:16 +01:00
Alasdair Smith
37ca7b54a6 Re-implement spell check manager with adapter to abstract away editor 2018-05-18 11:29:16 +01:00
James Allen
ed7b68169e Revert accidental dev changes to UndoManager 2018-05-11 17:05:39 +01:00
James Allen
dee96920b0 Allow font family and line height to be user configurable 2018-05-10 18:03:54 +01:00
James Allen
78aefc2871 Merge pull request #542 from sharelatex/ja-match-front-to-v1
Update font and line spacing in Ace to match OL v1
2018-05-09 12:24:37 +01:00
James Allen
1aadd7d369 Configure line height and font family separately for v2 2018-05-04 14:05:20 +01:00
James Allen
b847638ed1 Clean up comments and callbacks 2018-05-04 13:31:26 +01:00
James Allen
7e250be66d Update font and line spacing in Ace to match OL v1 2018-05-03 17:04:49 +01:00
James Allen
8ecd073efc Support Ctrl-. to compile for v1 compabitility 2018-05-03 12:28:14 +01:00
James Allen
09486f2eea Recompile on Cmd-S and :w 2018-05-03 12:20:53 +01:00
Alasdair Smith
4a12754d90 Mark visible toggle switch as hidden from screen readers 2018-04-16 10:07:46 +01:00
Alasdair Smith
0f70d526d9 Remove unused toggleRichText method 2018-04-16 09:42:26 +01:00
Alasdair Smith
591f341f5f Add switch-toggle directive 2018-04-16 09:36:10 +01:00
Alasdair Smith
3f8eda2223 Extract rich text code to module 2018-03-23 12:37:16 +00:00
Alasdair Smith
3e4b8cd409 Clean up change listeners on sharejs 2018-03-22 16:32:25 +00:00
Alasdair Smith
8abf3593fb Prevent CM/Sharejs adapter from overwriting value in editor 2018-03-13 11:16:56 +00:00
Alasdair Smith
9cf9a7e4fc Fix CM/ShareJS adapter using old CM api
Fixes bug where deleting text in CM would throw an error in some
circumstances
2018-03-13 11:16:49 +00:00
Alasdair Smith
85ceab5310 Tear down Ace session when aceEditor is destroyed
This cleans up the Ace worker that parses syntax, preventing a memory leak
2018-02-23 10:13:24 +00:00
Alasdair Smith
2be37795bd TODO for cleaning up sharejs callbacks 2018-02-22 11:44:09 +00:00
Alasdair Smith
598837e17c Use applyAsync to prevent issue when switching docs 2018-02-22 11:44:09 +00:00
Alasdair Smith
c5735a31df Remove unused listener 2018-02-22 11:44:09 +00:00
Alasdair Smith
e1187f3d8a Listen for changes to the CodeMirror Doc, instead of all changes to the editor
This prevents an issue where switching docs (i.e. files) would cause the newly
opened doc from being inserted into the old doc.

This approach is similar to Ace's sessions.
2018-02-22 11:44:09 +00:00
Alasdair Smith
c85e9ba3b1 Instead of setting value of CM, swap Docs
This allows for tracking changes on individual docs (i.e. files), instead of
just changes to the editor. This is similar to how Ace works with sessions
2018-02-22 11:44:09 +00:00
James Allen
a7fabb8e43 Merge pull request #321 from sharelatex/ja-recompile-tweaks
Animate toolbar for auto-compile and consolidate trigger logic
2018-02-14 09:34:16 +00:00
James Allen
29d2b408ad Don't error when detaching from history with no sharejsDoc 2018-02-13 08:43:00 +00:00
James Allen
5d3ecdb924 Add explicit editor init event 2018-02-13 08:27:48 +00:00
James Allen
3802df5cfa Use popup instance variable like Ace autocompleter does 2018-02-13 08:27:41 +00:00
Alasdair Smith
bfda9c595b Hide rich text behind feature flag 2018-02-09 10:42:11 +00:00
Alasdair Smith
4c23a3c8f0 Fix bug where spell check cache would error when toggling between ace & cm 2018-02-09 10:42:11 +00:00
Alasdair Smith
d15efc6fb6 Create cmEditor directive to connect to ShareJS 2018-02-09 10:42:11 +00:00
Alasdair Smith
b9327cb2d4 Add toolbar with button to toggle rich text 2018-02-09 10:42:00 +00:00
Alasdair Smith
7783e18a50 Allow Documents to be attached to CM 2018-02-09 10:38:51 +00:00
Alasdair Smith
09fbafa1f6 Include ShareJS CM adapter in compiled lib and fix bug with CM adapter
Because the CM & Ace scripts are naively concat-ed together, the Ace
applyToShareJS function would be overwritten by the CM version.

Also fixes bugs where adapter was calling old version of ShareJS api
and the old CM api
2018-02-09 10:38:51 +00:00
James Allen
5bf2ff0a47 Show animated bar while auto-compile is pending 2018-02-08 13:39:56 +00:00
Shane Kilkelly
19c97cb15b Merge pull request #289 from sharelatex/afc-track-edit-sessions
Send editing session heartbeat to the analytics service
2018-02-01 12:31:38 +00:00
Alberto Fernández Capel
839ea496f1 Track clicks anywhere on the window as activity when the editor is open 2018-01-25 16:32:00 +00:00
Alberto Fernández Capel
a68489a604 Track session activvity if the user scrolls the editor 2018-01-25 16:10:47 +00:00
Alberto Fernández Capel
7d0d18ea5e Use the cursor:editor:update event to track user activity
It is strictly a superset of the change event we were using
before: if there's a change, there will be always a cursor
update, but there can be cursor updates (like when the user
presses the arrow keys) that don't change the document.

This is coherent with what we do to track user activity at

dfb9943521/public/coffee/ide/connection/ConnectionManager.coffee (L49-L50)
2018-01-24 17:20:30 +00:00
Alberto Fernández Capel
8a1523cc03 Read project id from the global window var 2018-01-23 15:58:59 +00:00
Nate Stemen
ea5063d7ea dont return needsClosingBrace from Helpers 2018-01-23 09:35:24 -05:00