Commit Graph

144 Commits

Author SHA1 Message Date
Andy Williams bbe671626e elm_code: Support multi-line tokens
Adding a new token to each line it covers.
Each token references the end line so newline behaviour can be set
2015-02-21 18:24:17 +00:00
Andy Williams dd9f96d2c0 syntax: Update clang to output elm_code tokens
Addition of a refresh line command to say we're done.
We no longer need an active window for highlighting
as it's so much faster!
2015-02-21 17:30:17 +00:00
Andy Williams 187d9e609a elm_code: get / set the cursor position
When the cursor is updated make sure we have scrolled
so it's visible. Also adjust focus next points too.
2015-02-19 21:16:18 +00:00
Andy Williams 30460899a6 elm_code: Actually use it as our main editor window!
Need to hook in the clang highlighting and undo stack to the elm_code_widget
2015-02-19 00:22:07 +00:00
Andy Williams d79ee5a19a Fix some warnings when compiled without clang.
Also fix format of inner preprocessor ifs.
Patch from Vincent Torri.
2015-02-15 17:53:00 +00:00
Andy Williams aae8ea89bb editor: Let's reduce calls to saving files or resetting highlights.
Keep an eye on what has to be saved.
Only re-run clang parsing if we've actually saved recently
2015-02-14 23:55:05 +00:00
Andy Williams 8032f0fcd6 editor: delay autosave to 5 secs but save on unfocus too 2015-02-11 22:39:25 +00:00
Andy Williams 3a3bf2b6db editor: Control the auto-save function locally so we can re-sync with clang.
This should mean that highlighting, whilst still slow and flickery, does not corrupt.
2015-02-08 23:22:16 +00:00
Andy Williams 7c8d84d110 Fix a few warnings and possible build issues 2015-02-08 00:55:51 +00:00
Andy Williams c233fcad81 Split code editor type from text, don't try to highlight text.
Update our internal registry to know the difference between text and code.
Add some tests that verify we're getting the right type of editor.
2015-02-06 14:16:26 +00:00
Kelly Wilson ddfaa2798e Comment fix
Fix a small mixup with a comment for horizontal scrolling
2015-02-02 13:30:56 -07:00
Kelly Wilson 7bb6bca74c Merge branch 'open_file_new_win'
Fix a segfault when opening a file in a new window and pressing a key immediately.
2015-02-01 16:30:29 -07:00
Kelly Wilson 22cfc584d6 Edi_editor.c: Fix segfault
Fix a segfault when opening a file in a new window and then pressing a key without any other interaction. Simply check if item is null and return without action if it is.
2015-02-01 09:09:25 -07:00
Kelly Wilson a64ea17e68 Fix horizontal scroll highlighting
This small change just bypasses highlighting if there is a y scroll. Vertical scrolling still updates the highlighting.
2015-01-31 12:24:25 -07:00
Andy Williams 01cb36f510 More updates to correct API/export declarations for Windows.
Various changes brought in. Patch from Vincent Torri - thanks
2015-01-10 17:43:12 +00:00
Andy Williams 2249bcfc71 Adding replace support to our search bar.
Run a search first if one has not been, from then replace the current term and search again.
Submitted by Kelly Wilson
2015-01-18 17:36:12 +00:00
Andy Williams 5f55947048 Make incremental highlighting refresh a line at a time to reduce flicker on redraw 2014-12-08 21:03:06 +00:00
Andy Williams d973bbd5c4 Improvement to incremental highlighting - its not fast but it will not get slower.
Next the refresh window needs to reduce and any edits should adjust the tokens we have loaded
2014-12-06 15:23:32 -06:00
Andy Williams a36b687a47 Update the highlight code to refresh only what's on screen.
This is a temporary solution - saving CPUs mostly until elm_code is ready
2014-12-04 18:12:56 -06:00
Andy Williams 1fb649b732 Add a config system for remembering settings etc
.
Add a recent projects list to our welcome page which remembers what we open
2014-12-01 16:54:17 -06:00
Andy Williams 141a3a2107 Fix a crash bby removing some dead code.
Parsing will move to elm_code in the long term anyway
2014-12-01 13:11:29 -06:00
Andy Williams 5ec3492e36 Fix crash when highlighting multiple files in the background 2014-11-30 12:01:53 -06:00
Andy Williams 6fd2aed6f1 Update syntax highlighting to run in the background.
Hook the highlight runner into ctrl-s so you can get it to re-parse appropriately (this will be slicker with elm_code)
2014-11-30 16:25:11 +00:00
Andy Williams 20655d2bf9 Fix bug with undo not operating on current tab - fixes issue T1853.
Seems like a weird bug in the smart callbacks as they would pass the wrong event data in!
2014-11-29 20:13:18 +00:00
Andy Williams 3350a896ed change the colour of strings - does not seem to apply to all strangely, will dig further into CLANG tokens later 2014-11-13 21:35:58 +00:00
Andy Williams 863a4a47a2 Update the syntax highlighting to work after text set - thanks a lot to herdsman for the initial patch 2014-10-23 21:14:46 +01:00
Andy Williams f7336e9276 fix syntax mistake after changing markup type 2014-10-22 22:43:32 +01:00
Boris Faure 8fadf10987 fix some compiler warnings 2014-10-22 21:16:17 +02:00
Andy Williams 76675f6298 Use the recommended formatting for colour, avoid font weight right now as it doesn't stack properly 2014-10-21 14:26:46 +01:00
Andy Williams 5402a5921f Using the +/- format application to remove bold etc where used.
This requires a patch from herdsman to evas to work effectively
2014-10-20 23:20:14 +01:00
Andy Williams 174210cb02 Trying some slight optimisations for highlighting 2014-10-16 20:47:57 +01:00
Andy Williams ae9990f06c Tweaking syntax a little to have 1) less vivid comments and 2) the same colour for macro introducing punctuation characters as the macro they introduce 2014-10-12 13:34:41 +01:00
Andy Williams 84b25a2090 Implement the colouring of code based on the clang parser.
Has some issues with performance and failing on large files which need to be looked into.
2014-10-10 13:43:54 +01:00
Andy Williams f11369a361 Merge the clang syntax highlight parsing work from edi PROTO.
That's the parsing complete but I need to hook it into style the elm_entry widget...
2014-10-09 00:06:55 +01:00
Andy Williams 9ac976aa17 Add mime or requested type to text editor status bar.
Some refactoring to start splitting out file management from UI
2014-09-13 16:48:16 +01:00
Andy Williams c9d52cda28 Fix new window sizing following the layout changes 2030-07-13 03:06:54 +01:00
Andy Williams a25b043761 Move search UI into a panel at the top of the editor.
Correct search to work across multiple tabs within one Edi instance. Fix various issues around searc.
2030-07-12 21:12:05 +01:00
Andy Williams 64862ac5f1 Adding a status bar to editors, currently displaying line & col info 2030-07-10 00:03:26 +01:00
Andy Williams 961f65d910 Update line numbers to be the same length as content to better match the rows.
Still has an issue with very long files, but that's being investigated
2014-06-15 22:54:08 +01:00
Andy Williams 04a8a274a0 Correct the lining up of numbers, still a little off for scale=2, not sure why 2014-06-07 23:29:03 +01:00
Andy Williams d90d0e3c94 Adding line numbers to the text editor.
Not the prettiest approach right now, but we've got a scrolling list of lines that stays aligned with the text scroll
2014-06-07 21:50:14 +01:00
Andy Williams 43871e9a0c kill warning about ignored return 2014-05-18 23:00:10 +01:00
Andy Williams a3a4f5fce6 Added basic undo support - thanks to ecrire (Tasn) for the undo_redo_do function 2014-05-15 23:25:25 +01:00
Andy Williams d2117bac25 Begin factoring out the text editor from the mainview code 2014-05-15 22:40:19 +01:00