Al Poole
4315743706
@fix for T1852
...
Summary: Search should wrap around.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4722
2017-03-18 22:48:32 +00:00
Andy Williams
c89a211a94
syntax: trigger eolian highlighting
2017-03-04 15:43:04 +00:00
Andy Williams
784c6c4917
clang: re-scan after save to get latest changes.
...
Slightly behind the cursor but better for the cache. Removes need to pass unsaved file
2017-02-18 23:06:06 +00:00
Andy Williams
f89f1bb0c6
clang: Add support for compile command databases
...
Relies on having bear (https://github.com/rizsotto/Bear ).
Also refactor clang code to only have 1 instance per tab.
2017-02-17 22:49:27 +00:00
Andy Williams
13c7c1fcab
syntax: Still ask clang to highlight preprocessor/macros
2017-01-31 20:09:02 +00:00
Andy Williams
bc3ef23a3d
EFL fixes make this not needed
2017-01-28 13:00:10 +00:00
Andy Williams
b85f66f14a
search: Fix multiple search and bringing offscreen matches in
2017-01-22 09:56:44 +00:00
Andy Williams
8f4e7548b6
editor: Use elm_code for most of our syntax now.
...
This means realtime syntax and we can use clang for lookups
ad error prompts etc.
2017-01-21 16:02:33 +00:00
YeongJong Lee
1c3474245a
autosuggest: Fix segment fault when type long word
...
Summary:
It need a space more for adding a charater.
e.g. line 434..
Test Plan:
1. open suggest list in code file using <Ctrl> + <Space>.
2. type some long word.
e.g. 'evas_object_smart_callback_add'
3. Check there is no segment fault.
Reviewers: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4562
2017-01-13 11:45:39 +00:00
Andy Williams
63e6376697
editor: Display mime type description
...
If the language provider exists and can describe it :)
2017-01-12 13:08:50 +00:00
Andy Williams
2a82fedcb1
suggest: Move to a language provider
...
This means we can add great new stuff in a (nearly) pluggable way
2017-01-11 18:00:33 +00:00
Andy Williams
e6feb19a30
suggest: Move documentaton lookup to suggeest provider
...
Trying to get all the clang code out of edi_editor
and into suggest_provider_c :)
2017-01-11 14:23:15 +00:00
Andy Williams
068949a25a
suggest: Simplify sugggest API
...
Moving to a language provider so fewer entry points if possible
2017-01-11 12:48:28 +00:00
YeongJong Lee
73d8670247
autosuggest: Fix position when the suggest list is hidden.
...
Summary: Remove some unnecessary function.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4539
2017-01-01 14:26:57 +00:00
Andy Williams
aef5bb8fef
documentation: correct size for scaled displays
2016-12-28 23:36:22 +00:00
YeongJong Lee
e4af7c18a9
editor_doc: Add documentation finding support using libclang
...
Summary:
<Ctrl> + <R_Click> opens document. This find doxygen comment using libclang and
dump each tags.
Now, it just support functions.
Test Plan:
1. Open document using <Ctrl> + <R_Click>.
2. Check that the document is correct.
Reviewers: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4522
2016-12-28 23:35:08 +00:00
Andy Williams
6574098205
elm_code: Update to new API signature
2016-12-27 22:17:30 +00:00
Andy Williams
53e7419009
autosuggest: add tests to clang suggest provider
...
A small refactor became obvious because the lookup is not really
using the curword passed in - we want all options then filter later!
2016-12-27 13:26:38 +00:00
Andy Williams
49b55e838e
autosuggest: refactor to split clang suggest code from editor
...
Make room for other suggest providers too
2016-12-24 23:31:29 +00:00
Andy Williams
9cef5db6c5
autosuggest: Move formatting to 1 place
...
Also correctly handle fonts with spaces
@fix
2016-12-23 22:56:55 +00:00
YeongJong Lee
f9b8129724
autosuggest: One editor has one suggest evas object
...
Summary:
Remove unnecessary global variable.
This commit also fix bug that using autosuggest(<Ctrl> + <Space>) occurs
segment fault in non-code file.
Test Plan:
1. Run Edi.
2. Open project.
3. Open non-code file (e.g. README).
4. Call suggest list using <Ctrl> + <Space>.
5. Check that there is not segment fault.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4509
2016-12-23 10:07:03 +00:00
Andy Williams
0bc9f3dc1d
editor: cleanup methods a little
2016-12-22 10:59:36 +00:00
Andy Williams
04d86d3250
don't crash on invalid lines
2016-12-22 10:56:53 +00:00
YeongJong Lee
0866448895
autosuggest: Support detail of suggest
...
Summary: The suggest list shows detail of suggest.(return type and parameter)
Test Plan:
1. Run edi.
2. Open project.
3. Open suggest list using <ctrl> + <space>.
4. Check that The detail of suggest is correct.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4505
2016-12-22 10:50:59 +00:00
YeongJong Lee
284c7ff3ca
autosuggest: Change the variable name from 'autocomplete' to 'suggest' for readability.
...
Summary:
Change the variable name from 'autocomplete' to 'suggest'.
Because 'autocomplete' is too long.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4496
2016-12-19 23:26:26 +00:00
Andy Williams
d24ded8b5a
editor: grab keys that should not feed down to elm_code
2016-12-17 13:16:18 +00:00
Andy Williams
a112dcad9e
autosuggest: properly guard the clang variables
2016-12-17 12:31:36 +00:00
YeongJong Lee
8d82796fa1
autocomplete: fix screen flicker when use autocomplete
...
Summary: Remove file save function when initialize clang.
Test Plan: Check that the screen is not blinking when use autocomplete.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4486
2016-12-16 22:06:49 +00:00
YeongJong Lee
9d128bdb40
autocomplete: Refresh candidate list when typing.
...
Summary:
if you start typing when candidate list is shown,
the list refresh immediately.
Test Plan:
1. Run edi.
2. Open project.
3. Open candidate list using <ctrl> + <space>.
4. Continue typing.
5. Check the candidate list is correct.
Reviewers: bu5hm4n, ajwillia.ms
Differential Revision: https://phab.enlightenment.org/D4478
2016-12-13 07:42:36 +00:00
Andy Williams
3f76c4d290
elm_code: update parameter order
2016-12-12 08:30:59 +00:00
Andy Williams
efd56cf918
fix typo in patch
2016-12-12 00:24:51 +00:00
YeongJong Lee
ebc07e85e0
autocomplete: Add code autocomplete using clang
...
Summary:
Pressing shortcut(<ctrl> + <space>) while editing the code show
the list of suggestions.
This support variable, function, struct member.. etc.
It is simple version, so it show just function name without parameter, return type.
Test Plan:
1. Run edi.
2. Open project.
3. Press shortcut(<ctrl> + <space>) while editing the code.
4. Check that the list of suggestions are correct.
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: bu5hm4n
Differential Revision: https://phab.enlightenment.org/D4476
2016-12-12 00:23:22 +00:00
Jean-Philippe Andre
886b6356bd
editor: Fix crash when resizing without any code open
2016-11-30 15:34:34 +09:00
Andy Williams
49f7506521
highlight: cancel the file parsing on line events
...
Either we have removed a line and could crash or we have
added a line and everything will be off by one!
This will get fixed moments later by the line change event
2016-11-28 01:46:07 +00:00
Andy Williams
9a0b7e8d53
ui: Reset search term when activating search
2016-11-26 02:20:35 +00:00
Andy Williams
1578481d46
ui: only use help lookup if control pressed
2016-09-11 19:17:21 +01:00
Andy Williams
f71e4899c2
ui: Fix various toolbar items since tab chnges
...
oops :( lookup data in the right context
2016-09-10 23:41:14 +01:00
Andy Williams
e9b18c4560
syntax: Fix bad racey thread conditions
2016-09-09 16:21:11 +01:00
Andy Williams
2262d7bf1c
elm_code: Removed and migrated to using the elementary merged version
2016-06-10 10:03:40 +01:00
Andy Williams
dcd56607a9
editor: re-enable undo
...
Oops, we blocked elm_code from doing it's job
2016-05-17 23:24:14 +01:00
Andy Williams
1971583e5e
[help] Stub out a right-click-help UI
...
Not looking anything up yet but we're getting started
2016-04-07 17:44:12 +01:00
Andy Williams
bca7ef40b8
tidy old stubs
2016-04-07 17:43:05 +01:00
Andy Williams
b3a9bd0f2c
Update to latest eo syntax
...
Thanks for the script Tom :)
2016-03-10 00:06:50 +00:00
Andy Williams
acd7b54473
[editor] begin re-adding the undo feature.
...
This is provided completely by elm_code so can be reused in other editors.
For now this is just text/newline insertion...
Still have to add undo for deletion and selection
2016-02-21 18:11:33 +00:00
Andy Williams
66b6e889fd
remove trailing whitespace
2016-02-11 14:20:01 +00:00
Andy Williams
557fb79396
[editor] Support space insertion instead of tabs
...
Elm_Code support and option in Edi to use spaces when the
Tab key is pressed - make this default too.
2016-02-09 00:32:16 +00:00
Andy Williams
2f0347b108
[editor] Make whitespace trimming an option
...
Add a global setting to turn off the behaviour
2015-08-29 14:46:18 +01:00
Andy Williams
155ec77ac8
[editor] fix stability of the highlighting thread
...
Grab locks at the correct times, seems to help a lot...
2015-08-28 00:12:59 +01:00
Andy Williams
1c7e2b3873
editor: improve goto line dialog
...
Focus the input when we show and allow enter press to submit.
Also refactor it out of the edi_main mess.
2015-07-16 22:36:15 +01:00
Andy Williams
3f86407481
elm_code: consistently use 0 based text index
...
This means it's more familiar as regular string work when
using the elm_code_line APIs. It's also more distinct from
the elm_code_widget layout which is still 1 based columns.
To support unicode we must convert correctly.
Now FIXED!
2015-06-03 21:29:31 +01:00
Andy Williams
e3ed8806c3
elm_code: add legacy API.
...
Refactor eo API in line with elm_obj_* elsewhere
2015-06-02 08:22:36 +01:00
Andy Williams
7bf0fc7c3c
highlighting: Fix threading to avoid overlap crash
...
It's not threadsafe code within the editor so block
a thread if another is already running.
Also ditch pthread for Ecore_Thread :)
2015-05-30 22:56:41 +01:00
Andy Williams
f4c48d4ca9
elm_code: support setting custom fonts
...
For EDI create the config that would allow this to be altered.
Actual setting widget to follow...
2015-05-30 10:31:46 +01:00
Andy Williams
bf17d7c8af
config: save project config in the project dir
...
globally storing info about projects loaded, file associations
and the general user preference.
GUI and usage settings stored in <project>/.edi folder
2015-05-16 09:59:08 +01:00
Andy Williams
a0d6627f54
elm_code: add a TODO/FIXME standard parser
...
Corret some callback code and re-parse each time the file is saved.
Use this to clean up save/parse code in EDI too
2015-04-20 01:21:03 +01:00
Andy Williams
179b0e713f
clang: Fix crash if error is not related to a file
2015-04-12 23:39:38 +01:00
Andy Williams
17d8b30e00
syntax: Only display errors for current file
...
Clang can report from various sources,
only add those that are from the current file
2015-04-12 23:06:28 +01:00
Andy Williams
bc6ec2dd6f
syntax: reset status and hints when we reset token
...
re-use elm_code methods when we do this in edi
2015-04-12 23:04:46 +01:00
Andy Williams
d03675ba71
clang: fix paths used in syntax lookup
...
Pass in the edi build config to get efl params.
Also find the correct system include for clang dynamically
2015-04-12 22:25:41 +01:00
Andy Williams
c0654b6c4e
clang: remove debugging
2015-04-12 16:47:53 +01:00
Andy Williams
6fc3da889b
Fix crash where clang encounters too many errors
2015-04-12 15:39:47 +01:00
Andy Williams
efec7c1f37
editor: add tabstop configuration
...
Allow setting of the tabstop. App wide for now.
2015-03-29 20:40:24 +01:00
Andy Williams
d5e405b420
search: Update replace for elm_code selection code
...
That should be search and replace completely ported now
2015-03-28 16:05:36 +00:00
Andy Williams
f1571f296e
settings: Allow configuration of line width marker
2015-03-28 00:45:20 +00:00
Andy Williams
2a1320d1f1
clang: tidy clang disposal and remove notes
2015-03-28 00:18:20 +00:00
Andy Williams
ace8350ac2
highlighting: clear errors that no longer apply
...
Also refresh more regularly now it's faster
2015-03-27 23:55:17 +00:00
Andy Williams
4f8ece09cf
clang: save errors and display if clicked
...
Using a gutter click in elm_code to print to console for now
2015-03-27 23:54:28 +00:00
Andy Williams
4fc9748db3
elm_code: add text search functions.
...
Update the search and replace UI to work with the new elm_ode UI.
2015-03-22 22:36:04 +00:00
Andy Williams
8eb3978c1e
elm_code widget: fire user change events
...
This does not yet have a "change" attached so does not
support undo/redo yet
2015-03-21 20:04:12 +00:00
Andy Williams
c29c9c5133
editor: display the line endings for the file
2015-03-21 13:56:27 +00:00
Andy Williams
0509eb1841
settings: configure the display of whitespace
...
Refresh this when config changes
2015-03-14 13:10:38 +00:00
Andy Williams
8730b4dfb3
config: Update editor when font size changes
2015-03-08 22:28:21 +01:00
Andy Williams
b97da3b70a
Merge branch 'master' into devs/ajwillia-ms/elm_code
2015-03-08 22:27:38 +01:00
Andy Williams
e62ddd5bc1
config: add settings screen
...
Add a new autosave flag, upgrade config so it's set.
Listen to a config_changed event to update UI where required.
2015-03-08 22:14:25 +01:00
Andy Williams
0c2819bd4f
editor: update to latest elm_code and show whitespace
2015-02-28 16:28:22 +00:00
Andy Williams
c98ba7d1e8
syntax: Actually use the elm_code parser api.
...
Improve the API to allow passing of user data to the calls.
Yes, I forgot about this, it works well so remove the STYLE_SET callback
2015-02-24 00:32:40 +00:00
Andy Williams
71fa2d13c8
elm_code: display a line-width marker if requested
2015-02-23 21:52:49 +00:00
Andy Williams
c18fccb646
syntax: Add line highlighting for clang errors
...
This never worked on the old elm_entry code!
Highlight where clang knows a problem exists.
Not yet inserting a caret, but there's more to be done...
2015-02-21 18:54:52 +00:00
Andy Williams
7212dc24bb
syntax: Remove unneeded timers and threads.
...
Now that it's all much faster and more reliable we don't need to resync etc
2015-02-21 18:48:33 +00:00
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