Guldoman
6bc4fbb238
Restore `TitleView` only when needed
...
Before, every time the user came back from fullscreen, the `TitleView`
was shown regardless of its previous status.
2021-11-09 22:21:45 +01:00
Guldoman
b3eef15e7a
Highlight any line that contains a caret
...
Now lines with selections can be highlighted if they contain a caret.
2021-11-09 21:33:47 +01:00
Guldoman
bcfd33a7df
Merge pull request #662 from adamharrison/suggest-directory-fix
...
Made it so that we originally start on the parent directory of the cu…
2021-11-08 01:03:59 +01:00
Adam Harrison
5b8c08e93a
Missing parentheses.
2021-11-07 17:57:15 -05:00
Adam Harrison
24669293c7
Made it so that we originally start on the parent directory of the current project, but provide a list of recently used projects if on that directory. If a directory separator is added, then everything is as normal.
2021-11-07 17:54:42 -05:00
Guldoman
f99afcd29c
In `TreeView` set correct active `View` before opening new `DocView`
...
Before this, the new `DocView` was always added to the primary `Node`.
With this, it gets added to the last focused `Node`.
2021-11-07 23:12:03 +01:00
Adam
40f698e4bf
Merge pull request #625 from Guldoman/allow_closing_primary
...
Select a new primary node when closing the current one
2021-11-07 15:10:19 -05:00
Adam
b7042fd9f7
Merge pull request #631 from Guldoman/fix_missing_subsyntax
...
Use `header` to get syntax only when provided
2021-11-07 15:09:50 -05:00
Adam Harrison
05dcddaeec
Made plugin load order deterministic.
2021-11-07 13:14:48 -05:00
Adam
286183f917
Merge pull request #634 from Guldoman/fix_highlighter_holes
...
Don't insert `nil` in highlighter lines table
2021-11-04 20:45:03 -04:00
PIESEL
cd10497b49
Use Python syntax highlighting for Ren'Py scripts.
...
Ren'Py is a very popular Python visual novel engine, which has it's own "coding language" (even GitHub shows it as a separate language) and it's own file extension.
Generally Python syntax highlighting works for the Ren'Py language.
2021-11-01 16:30:15 +01:00
Guldoman
9e721937af
Don't insert `nil` in highlighter lines table
...
When `highlighter:insert_notify` was called, a hole in the array was
created.
If another call to `highlighter:insert_notify` happened before the hole
was filled, a `Position out of bounds` error could have been raised.
2021-10-26 00:12:16 +02:00
Guldoman
df665ddc38
Use `header` to get syntax only when provided
2021-10-25 14:06:07 +02:00
Guldoman
92db048e7c
Use plain search by default in `search.find`
2021-10-25 00:18:20 +02:00
Francesco Abbate
5cdd800910
Fix problem checking utf-8 cont at end of string
2021-10-23 15:03:09 +02:00
Francesco Abbate
ffb66cefd7
Fix python docstring highlighting
...
From PR:
https://github.com/lite-xl/lite-xl/pull/624
contributed by @dflock.
2021-10-23 15:01:16 +02:00
Guldoman
331b8e90ec
Select a new primary node when closing the current one
...
The new primary node can be any non-locked leaf node that isn't already
primary.
2021-10-23 03:34:24 +02:00
Francesco
6f732f67f9
Merge pull request #612 from Guldoman/fix_regex
...
Fix regex in tokenizer
2021-10-22 21:44:44 +02:00
Francesco Abbate
ddb6196e9e
Force project rescan on network filesystems
2021-10-21 23:57:17 +02:00
Francesco Abbate
e9c16c4367
Add a limit for very slow filesystems
...
When adding a directory in a project we check if the filesystem is too
slow. If it is too slow we act as if the projects was files-limited by
the number of files but we show a specific warning.
This solution is not perfect but for very low filesystem it can limit
the problem. Otherwise the application would be totally irresponsive.
2021-10-21 23:18:31 +02:00
Francesco Abbate
167e41de65
Fix problem with treeview keeping the editor busy
...
Fix a problem introduced when fixing the dirty pixel problem, commit
cb08c5c
. The node, when determining the layout was rounding the size
of the fixed-size view. In turns this latter was calling move_towards
to the default_size it wanted. If default_size was non-integer the
value vas never archieved because it was rounded during layout and
move_towars was keeping the editor busy by setting the
core.need_redraw flag.
2021-10-21 23:18:31 +02:00
Francesco Abbate
f18ac849fb
Fix error introduced with 43fc35d7
2021-10-21 23:18:31 +02:00
Francesco Abbate
43374b036f
Fix problem with treeview x resizing
...
The x size of the treeview plugin cannot really change expect if explicitly
resized.
The call to move_towards for x seems to raise a state where core.redraw is
always set to true and this prevent the application to go idle.
It is seen after the introduction of the dmon directory monitoring but it
is not clear why it wasn't seen before.
2021-10-21 23:18:31 +02:00
Francesco Abbate
9c52c420c5
Do not use normalize_path when not needed
2021-10-21 23:18:31 +02:00
Francesco Abbate
f472c24c73
First attempt to treat correctly network volumes
...
On windows paths belonging to network volumes will be gives like:
\\address\share-name\path
Now the code recognize these paths and treat them correctly.
2021-10-21 23:18:31 +02:00
Guldoman
780c8c6d0d
Improve check for `find-replace` commands using `has_unique_selection`
2021-10-16 03:02:42 +02:00
Guldoman
ef60b24f63
Check both values returned by `Node:get_locked_size`
2021-10-16 02:56:01 +02:00
Adam Harrison
f2488fdd8d
Added in support for font groupings.
2021-10-12 23:24:52 -04:00
Guldoman
8a516d35ce
Correctly identify the start of the next character in `tokenizer`
...
When moving to the next character, we have to consider that the current
one might be multi-byte.
2021-10-11 22:37:31 +02:00
Guldoman
1872e82141
Make `regex.match` return the appropriate `end` index
...
This makes its behavior similar to `string.find`.
2021-10-11 22:32:50 +02:00
Guldoman
3a71528087
Allow specifying offset for `common.is_utf8_cont`
2021-10-11 22:18:02 +02:00
Francesco Abbate
0d2166c9ce
Correct Node's clipping rectangle
...
Fixing the Node's clipping rectangle make the clipping in DocView:draw()
partially redundant. This latter is now no longer needed to clip
on the right when drawing the document's lines but it still serves to
the purpose of clipping on the left, before the gutter region.
2021-10-11 09:25:38 +02:00
Francesco Abbate
8b634daa66
Use rounded value for node's size when splitting
...
Rouding node's size to an integer value ensure drawing are pixel
perfect in sizing.
2021-10-10 21:48:16 +02:00
Francesco Abbate
c7aa3ebe01
Fix clipping error in docview
2021-10-10 21:44:16 +02:00
Francesco Abbate
cb08c5cbb7
Fix dirty pixels problem on window's right side
...
The last column of pixel on the window's right side isn't correctly
drawn and pixels appear dirty and more noticeably when the a NagView
message was previously shown, a stripe of red pixels remains on the right.
We use now a more souding roundig scheme. Now the rectangles to clip or to
draw are passed around as Lua numbers without any rounding. In turns, when
the rect coordinates are passed to the renderer we ensure the border of the
rect are correctly snapped to the pixel's grid. It works by computing the
coordinates of the edges, round them to integers and then compute the rect's
width based on the rounded coordinates values.
2021-10-10 14:52:55 +02:00
Francesco
228d6ff101
Merge pull request #466 from Guldoman/new_not_dirty
...
Avoid setting a new file as dirty if it is empty
2021-10-10 10:05:19 +02:00
Guldoman
3a1274fd08
Merge reverse find functions for lua patterns and regexes
2021-10-10 01:11:41 +02:00
Guldoman
cfe0c79a04
Simplify reverse search
...
Remove `plain_rfind` optimization.
2021-10-10 01:11:40 +02:00
Guldoman
af925d603b
Fix `doc` selection in `findreplace`
...
Use `last_view` if `active_view` is `CommandView`.
2021-10-10 01:11:40 +02:00
Guldoman
1976facaf1
Use reverse search for `find-replace:previous-find`
2021-10-10 01:11:38 +02:00
Guldoman
e7be9652c9
Add `find-replace:select-previous`
2021-10-10 01:10:52 +02:00
Guldoman
56eace627a
Add reverse option to `search.find`
2021-10-10 01:10:47 +02:00
Francesco Abbate
7dd5699c96
Use dmon events in reload plugin
2021-10-08 23:15:25 +02:00
Francesco Abbate
911a3cee08
Report dmon modify events
2021-10-08 23:13:50 +02:00
Francesco Abbate
9c43727ebc
Implement directory monitoring using septag/dmon
...
Use a notification based directory monitoring based on the
septag/dmon lirbary instead of periodically rescan the whole
project's tree.
2021-10-08 21:31:22 +02:00
Francesco Abbate
92362586df
Improve highlither for document edits
...
The syntax highlighter keep a cache of the documents like tokenization.
In order to minimize the amount of tokenize re-computations we insert some
emtty lines or remove some lines in the highlither lines corresponding to
the lines added or removed to the document.
2021-10-08 21:28:27 +02:00
Francesco Abbate
7a435a568a
Fix error in incremental syntax highlighter
...
In the highlither thread We should accept a previously generated line tokenization
past first_invalid_line only if the text is the same. The text can change because of
insert or remove operations.
Close #573 .
2021-10-08 21:27:57 +02:00
Francesco Abbate
44d7f3738f
Improve highlither for document edits
...
The syntax highlighter keep a cache of the documents like tokenization.
In order to minimize the amount of tokenize re-computations we insert some
emtty lines or remove some lines in the highlither lines corresponding to
the lines added or removed to the document.
2021-10-07 19:19:08 +02:00
Francesco Abbate
8477818c96
Fix error in incremental syntax highlighter
...
In the highlither thread We should accept a previously generated line tokenization
past first_invalid_line only if the text is the same. The text can change because of
insert or remove operations.
Close #573 .
2021-10-07 19:03:16 +02:00
Guldoman
db3643653e
Sanitize selections after redo
2021-10-02 22:03:52 +02:00
Francesco
eb79381c89
Merge pull request #521 from adamharrison/remove-font-renderer
...
Remove Font Renderer + CP Replace + libagg
2021-10-02 18:45:31 +02:00
Francesco Abbate
72c950338c
Enable always show tabs by default
2021-10-02 18:44:05 +02:00
Guldoman
20ddbd6e9f
Load project module on project change ( #571 )
2021-10-02 18:39:23 +02:00
Guldoman
57bfb67f6a
Add option to disable caret blinking ( #572 )
2021-10-02 18:39:23 +02:00
Guldoman
468229e4d0
Small cleanup of `scale` plugin
2021-10-02 18:39:23 +02:00
Guldoman
f6b9d9ab67
Add option to disable scrolling past the end ( #566 )
2021-10-02 18:39:22 +02:00
Rongfei Wang
b0b3485152
Remove duplicate command declaration ( #565 )
2021-10-02 18:39:22 +02:00
Adam Harrison
291616df3f
Removed extra macros, used PLATFORM. Also removed MACOS, as it's redundant C code that's already encapsulated within PLATFORM.
2021-10-02 18:39:03 +02:00
Francesco Abbate
34983668d8
Normalize to project dir in treeview open
...
When left-clicking in a TreeView file we use now
core.normalize_to_project_dir to normalize correctly
the file name.
2021-10-02 18:37:01 +02:00
Francesco Abbate
d067cc8577
Scale custom syntax fonts for scale plugin
...
Close #539 .
2021-10-02 18:37:01 +02:00
Guldoman
e2f7c984de
Reset syntax highlighting on file rename
2021-10-02 18:37:00 +02:00
Guldoman
d817944170
Force showing tabs when dragging them
2021-10-02 18:37:00 +02:00
Guldoman
dced6da03d
Implement tab drag and drop
2021-10-02 18:36:59 +02:00
Guldoman
86632b68de
Move single tab drawing to its own function
2021-10-02 18:36:59 +02:00
Adam Harrison
f80f920bda
Added in suggested changes.
2021-10-02 12:25:52 -04:00
Adam Harrison
ee61b34084
Turned off whitespace by default.
2021-10-02 12:23:32 -04:00
Guldoman
bf06aa1c4d
Load project module on project change ( #571 )
2021-10-02 16:38:45 +02:00
Guldoman
b5f0b340d2
Add option to disable caret blinking ( #572 )
2021-10-02 16:38:10 +02:00
Guldoman
3b280401e4
Small cleanup of `scale` plugin
2021-10-02 03:24:35 +02:00
Guldoman
ab0ca031fa
Add option to disable scrolling past the end ( #566 )
2021-09-30 13:10:38 -07:00
Rongfei Wang
cf11d67895
Remove duplicate command declaration ( #565 )
2021-09-30 13:38:32 +02:00
Adam Harrison
b6829cb041
Used copy.
2021-09-24 11:22:39 -04:00
Adam Harrison
425a4f600b
Forgot to reset offset.
2021-09-24 11:22:39 -04:00
Adam Harrison
67032f72ac
Removed subpixel mentions.
2021-09-24 11:22:39 -04:00
Adam Harrison
e25f2e9c5c
Removed font renderer.
2021-09-24 11:22:39 -04:00
Adam
8c32950f4b
Merge pull request #527 from adamharrison/native-interop
...
Native Plugins
2021-09-23 15:11:08 -04:00
Adam Harrison
466464d8a4
Mispelling.
2021-09-22 17:25:16 -04:00
Adam Harrison
b8da46e10e
Removed searchers[4].
2021-09-22 17:24:22 -04:00
Adam Harrison
713ef787c2
Removed extra macros, used PLATFORM. Also removed MACOS, as it's redundant C code that's already encapsulated within PLATFORM.
2021-09-20 23:50:06 -04:00
Adam Harrison
e13529444f
Less C code, and more namespacing is better.
2021-09-20 23:42:39 -04:00
Adam Harrison
3ca127793a
Incorporated some suggestions, and some functions.
2021-09-20 23:33:12 -04:00
Francesco Abbate
14dd6f1cd6
Normalize to project dir in treeview open
...
When left-clicking in a TreeView file we use now
core.normalize_to_project_dir to normalize correctly
the file name.
2021-09-19 23:52:18 +02:00
Francesco Abbate
8d3680ab45
Scale custom syntax fonts for scale plugin
...
Close #539 .
2021-09-19 18:51:44 +02:00
Guldoman
80a6b2245e
Reset syntax highlighting on file rename
2021-09-17 23:41:14 +02:00
Guldoman
f6b6634868
Force showing tabs when dragging them
2021-09-17 22:25:05 +02:00
Guldoman
3eba7cd7f1
Implement tab drag and drop
2021-09-17 22:25:05 +02:00
Guldoman
6a3f59c423
Move single tab drawing to its own function
2021-09-17 22:25:05 +02:00
Adam Harrison
2ac7c7f09b
Syntax.
2021-09-16 17:43:17 -04:00
Adam Harrison
4b828eff65
Markdown subsyntax highlighting.
2021-09-16 17:29:44 -04:00
Adam Harrison
10c3c9d4cf
Undid deletion.
2021-09-16 16:24:07 -04:00
Adam Harrison
2987554097
Moving things into final positions.
2021-09-16 15:47:12 -04:00
Adam Harrison
377ce1cd06
Moved things around, fixed a few things up.
2021-09-16 12:37:17 -04:00
Guldoman
66bfff2e26
Fix wrong locked sibling check
...
Previously if the split type was "hsplit", but `locked_size_x` was
falsy, `locked_size_y` was wrongly used.
2021-09-15 22:38:09 +02:00
Guldoman
9bfec4aca5
Ensure that the primary node always has a `View`
2021-09-15 22:38:09 +02:00
Guldoman
fb955e4e12
Only check if sibling is locked in the split direction
...
If the sibling is not locked in the direction of the split, it should
fill the space.
2021-09-15 22:38:09 +02:00
Guldoman
1e8031a0e8
Fix checking if sibling is locked when removing `View`s
...
We only checked if sibling was locked in the `x` direction.
2021-09-15 22:38:09 +02:00
Adam Harrison
e9f48ce949
Added in sample plugin and tested things out. Works.
2021-09-14 00:13:30 -04:00
Adam Harrison
a66a76f9c9
Added in searcher.
2021-09-13 23:40:01 -04:00
Francesco Abbate
25744d93ce
Merge branch with modifications for 2.0.2 release
2021-09-11 08:19:40 +02:00
Francesco Abbate
218999dff8
Avoid bug when replacement stop at end of string
...
Detect when we are past the end of the string to avoid by
checking if byte is not nil.
Fix #510 .
2021-09-10 14:55:04 +02:00