jgmdev
48e86bb117
plugin treeview: skip rootview events if not visible.
2022-03-07 16:52:32 -04:00
jgmdev
9d4e475a2c
init: also load default nodes and commands before user plugins and project module.
2022-03-06 21:21:00 -04:00
jgmdev
d7d88a2037
init: load core views before user plugins
2022-03-06 21:03:16 -04:00
Guldoman
240afa7abd
Load project module on startup
2022-03-06 21:09:22 +01:00
Adam
f85612e0f0
Fix Project Scanning ( #746 )
...
Removed dmon, and replaced with logic that works across Linux, Mac, FreeBSD and Windows. Have tested on all platforms, and seems to work.
Co-authored-by: Jan200101 <sentrycraft123@gmail.com>
2022-03-06 00:59:22 -05:00
jgmdev
c4f7380a95
language_md: removed scale adjustment code that was needed because of a bug on scale plugin.
2022-03-05 19:13:24 -04:00
jgmdev
e5ca08e13f
plugin scale: replace non existing font.set_size with font.copy
2022-03-05 19:03:33 -04:00
jgmdev
2d3d9a1671
language_md: improvements consolidating #814 and #840
2022-03-04 14:29:29 -04:00
Jefferson González
0e79607895
Merge pull request #859 from jgmdev/commit-on-version
...
Add git commit on version of devel builds
2022-03-04 14:18:36 -04:00
Guldoman
caefc9112a
Force syntax patterns starting with `^` to match with the whole line
...
Before, syntax patterns/regexes that started with `^` didn't have the
desired effect of matching with the start of the line.
Now those patterns are used only when matching the whole line.
2022-03-04 11:27:01 +01:00
jgmdev
1e765b5c28
EmptyView: handle lite-xl version strings that overlap.
2022-03-02 03:55:03 -04:00
Guldoman
3d879286a4
Use epsilon to compare values in `move_towards`
2022-03-01 22:41:54 +01:00
jgmdev
e9775ced78
StatusView: added items hovered option for bg color and param to on_draw as suggested by @Guldoman
2022-02-28 17:56:17 -04:00
jgmdev
4c80aa7a40
StatusView: reposition left and right panel offsets on window resize.
2022-02-28 17:04:37 -04:00
jgmdev
15a31418ca
StatusView: restored indent confirmed
2022-02-24 14:22:52 -04:00
jgmdev
128e10ba47
StatusView: add spaces as separate items instead of pre-pending them to items.
2022-02-24 13:58:40 -04:00
jgmdev
131bdf9fb2
StatusView: implemented and applied get_item_visible_area.
2022-02-24 02:23:29 -04:00
jgmdev
b1ce685489
StatusView: better calculate panel sizes and handle out of bounds drags.
2022-02-24 00:21:21 -04:00
jgmdev
c5648e1f02
StatusView: implemented dragging and scrolling.
2022-02-23 19:25:25 -04:00
jgmdev
3452d499e5
Show hand cursor on clickable elements as suggested by @Guldoman
2022-02-23 06:07:53 -04:00
jgmdev
90983b22a4
StatusView v2.0, some changes include:
...
* Items are now objects that can be retrieved and manipulated.
* clip rect is used for left and right panes
* initial support for items to do their own custom drawing by also
doing a clip rect for them
* a custom background color can be specified for the item.
* a command or function can be executed on item click.
* Introduced functionality to easily hide or show all or specific items.
* Better handling of deprecated get_items()
* Spacing is automatically added to items and cleaned on deprecated
items.
* Default items where separated and given the names:
doc:file, doc:position, doc:indentation, doc:lines,
doc:line-ending, core.commandview.
* Some default right or left click actions where given to the default
items.
* Started adding required bits to support dragging to left and right
panes when some items aren't visible.
Note: should work well enough already but maybe some repetitive stuff can be
cleaned out.
2022-02-23 05:15:14 -04:00
jgmdev
7cb4e93d14
Improvements to the StatusView
...
* Support for predicates by introducing add_item().
* Support for performing click actions on items.
* Support for optional tooltips on item hover.
* Deprecate the usage of get_item().
2022-02-21 03:40:25 -04:00
Adam
61e712db12
Fixed rendering computations for y offset. ( #843 )
...
* Fixed rendering computations for y offset.
* Force monospacing if every ascii character has the same integer advance.
* Added in explanatory comment.
* Fixed issues.
* Made lines less long.
2022-02-15 15:57:07 -05:00
Guldoman
539f929e30
Allow intercepting `filedropped` events
...
The event is first sent to the underlying `View`; if not handled, it's
managed as before.
2022-02-15 00:45:59 +01:00
jgmdev
2079e1f707
Plugin projectsearch: set command view text to current document selection.
2022-02-13 01:31:58 -04:00
Francesco Abbate
b02aae939c
Fix again bug with invalid ignore_files patterns
...
The pattern cannot be tested in advance as it seems that Lua inspect
the pattern only partially, the part that is actually used.
We resort to use pcall to catch any error when using the pattern.
2022-02-11 23:00:15 +01:00
Adam
a6f32ca0d0
Merge pull request #822 from AlexSol/update_contextMenu
...
Travel by contextMenu using keyboard
2022-02-11 12:10:14 -05:00
Adam
af6a06bc8b
Merge pull request #832 from jgmdev/autocomplete-update
...
Update autocomplete with changes needed for latest LSP plugin.
2022-02-11 12:01:35 -05:00
Adam
b05a02cb28
Merge pull request #839 from jgmdev/nil-nodes-fix
...
Fix cases of nil node.
2022-02-11 11:52:43 -05:00
Guldoman
5526041da3
Check entire selection to trigger `DocView:scroll_to_make_visible`
...
This is needed for example when a selection has both `line1` and `col1`
at 1, and the left arrow is pressed: `line2` and `col2` change, while
`line1` and `col1` don't, but we still want to scroll.
2022-02-11 06:16:29 +01:00
Guldoman
59ba759167
Don't scroll DocView when executing `doc:select-all`
2022-02-11 06:00:38 +01:00
jgmdev
bb4569da53
Fix cases of nil node.
2022-02-09 10:40:02 -04:00
Guldoman
f23cb33f7c
Ignore empty lines in `line_comment`
2022-02-07 19:22:43 +01:00
jgmdev
6773e85cb8
Update autocomplete with changes needed for latest LSP plugin.
2022-02-03 15:01:39 -04:00
Dheisom Gomes
f5e9146b1c
Merge branch 'master' of https://github.com/lite-xl/lite-xl into improvements
2022-01-30 15:49:37 -03:00
AlexSol
efedbae663
Travel by contextMenu using keyboard
2022-01-29 16:23:00 +02:00
Dheisom Gomes
13adedb23a
Go back to `common.match_pattern` and use `table.unpack` directly on function `core.add_thread`
2022-01-28 18:30:19 -03:00
Adam
0a70b13a73
Merge pull request #809 from lite-xl/merge-master-2.0
...
Merge master 2.0
2022-01-28 14:38:22 -05:00
Dheisom Gomes
22d8f69b5c
Error correction getting "unpack" function
2022-01-28 12:13:52 -03:00
Dheisom Gomes
6331a23c6b
Added support to use a array of regex to ignore files
2022-01-28 12:02:30 -03:00
Dheisom Gomes
8c0685d440
Added support to pass extra arguments to functions on core.add_thread
2022-01-28 11:53:30 -03:00
Francesco Abbate
3a53b05b29
Do no error out on malformed ignore patterns
2022-01-25 14:16:40 +01:00
Francesco Abbate
3e39da071d
Fix problem with project module save hook
2022-01-24 09:34:54 +01:00
Adam Harrison
456126400a
Added in new merge method, and run it on plugins. Also made it so plugin configs can be set anywhere, even if we don't know the plugin beforehand.
2022-01-22 18:39:23 -05:00
Francesco Abbate
f7193c4fa2
Remove unused whitespace_replacements function
2022-01-22 21:46:02 +01:00
Adam
8c8bd4692c
Merge pull request #808 from adamharrison/fix-commenting
...
Fix commenting selections.
2022-01-20 23:28:05 -05:00
Adam Harrison
b523bd5cee
Fixed end of block-style line comments.
2022-01-20 22:17:21 -05:00
Francesco Abbate
f6a0e12e31
Merge branch 'master-2.0'
2022-01-19 20:31:33 +01:00
Adam
6025c43241
Merge pull request #743 from takase1121/better-logview
...
multiple improvements to logging
2022-01-18 23:25:36 -05:00
Adam Harrison
cdbfecc5ce
Streamlined, and fixed guldo's problem.
2022-01-18 21:38:43 -05:00
Adam Harrison
30cc205cd4
Fixed issue first mentioned in #771 .
2022-01-18 21:38:38 -05:00
Adam
d3e1636881
Merge pull request #771 from takase1121/multiline-comment-command
...
add toggle-block-comment
2022-01-18 21:07:46 -05:00
Francesco Abbate
2dd154edeb
Remove remaining debug message
2022-01-18 10:42:20 +01:00
Francesco Abbate
7e9b2f30da
Treat final '/' or '/$' in ignore rule as part of the pattern
...
Evolve the rule for directory in ignore_files to be more natural
and easy to understand.
When a final '/' or '/$' is found we consider the pattern to match
a directory and the pattern is not modifed. In turns, is used, before
matching a directory's name a final '/' is appended to its name
before checking if it matches the pattern.
With the previous rule a final '/' in the pattern meant also a directory
but the '/' was removed from the pattern.
2022-01-13 16:43:37 +01:00
Francesco Abbate
2456452f65
Fix error to close view when deleting a file
2022-01-13 16:38:20 +01:00
Guldoman
e51c76c72b
Assert for negative `field` in bit32 polyfill
...
This more closely matches the behavior of lua5.2.
2022-01-12 19:56:09 +01:00
Francesco Abbate
ae1890d29a
Fix project files reading with symlink
2022-01-12 00:32:10 +01:00
Guldoman
51975472a9
Add bit32 polyfill globally
2022-01-12 00:07:53 +01:00
Guldoman
7eb9908f1a
Improve bit32 polyfill
2022-01-12 00:07:14 +01:00
Francesco Abbate
4cdd42de1a
Ensure config.plugins are restored on new config
...
When a user's or project's module configuration file is changed we
make sure that the config.plugins fields are all restored so that
all plugins already loaded can continue to work.
2022-01-10 09:54:47 +01:00
Francesco Abbate
656a89c494
Fix checks when opening new project directory
2022-01-09 23:26:11 +01:00
Francesco Abbate
39366d3a09
Ensure project rescan thread is terminated
...
When changing a project we need to ensure that the old threads
are no longer run.
2022-01-09 23:26:11 +01:00
Francesco Abbate
1520c12580
Remove DMON_LOG_ERROR to return an error code
2022-01-09 23:26:11 +01:00
Francesco Abbate
7473fbf32c
Fix undue asserts in dmon_extra
...
Some asserts are placed in case that can effectively occur
so we remove the assertion and we return false. In turn we
adapt the logic accordingly so when false is returned to add
a watch we do not open that directory.
2022-01-09 23:26:11 +01:00
Francesco Abbate
5032e7352e
Write an initial project module if not present
2022-01-09 23:26:11 +01:00
Francesco Abbate
a703840068
Add some comments for ignore_files logic
2022-01-09 23:26:11 +01:00
Francesco Abbate
295c65da92
Use compiled ignore_files pattern
...
Try to digest the ignore_files pattern before potentially processing
a lot of files because it may be expensive.
2022-01-09 23:26:11 +01:00
Francesco Abbate
5b154c189f
First version of paths in ignore_files
...
Works correctly and the logic seems sound even if somewhat quirky.
`^%.` match any file of directory whose basename begins with a dot.
`^/node_modules$/"` match a directory named `node_modules` at the project's root.
Note that the final '/' needs to be at the end. The '/' after the '^' needs to be there to trigger
a match of the full path filename so we are sure it is at the root.
PROBLEM: the '/' to trigger full path match could be in a pattern's special expression like:
[^/]
`^%.git$/` match any directory name '.git' anywhere in the project.
`^/%.git$/` match a directory named '.git' only at the project's root.
`^/subprojects/.+/` match any directory in a top-level folder named "subprojects".
`^/build/` match any top level directory whose name begins with "build"
PROBLEM: may be surprising, one may expects it matches only a directory named 'build'. It actually acts like
it was `^/build.*/`.
2022-01-09 23:20:47 +01:00
Adam Harrison
31d448971a
Restored floating point time granularity.
2022-01-08 12:59:15 -05:00
Adam
93076bdc41
Merge pull request #781 from Jan200101/PR/lua54
...
Migrate to Lua 5.4
2022-01-08 12:11:48 -05:00
takase1121
fc809b3172
comment the entire line when using block comment
2022-01-08 18:45:38 +08:00
Francesco Abbate
143b389365
Clear TreeView cache when closing project
2022-01-07 10:41:18 +01:00
Francesco Abbate
7ded5c8199
Fix problem when reloading project directory
2022-01-06 18:00:48 +01:00
Francesco Abbate
1e7075ca9f
Do not force choosing project dir to suggestion
...
When changing or opening a project directory do not
take the selected item from suggestion but simply the
entered text as it is.
Otherwise the user may be unable to choose a directory
if the text matches the beginning of suggestion.
Close #791
2022-01-05 23:42:47 +01:00
Francesco Abbate
1b57107352
Fix problem with special file types
...
For special file types like the ones in /dev/ the info
entry's type is neither file neither dir.
We prevent these kind of files from being listed in the
project.
2022-01-05 23:32:26 +01:00
Francesco Abbate
9929ca9c2d
Fix logic with project directories suggestions
...
Attempt to fix issue #791 .
The logic set with the previous commit for suggest_directory
is similar to the one we use except the previous expression
was false do to operator precedence for "and" versus "or".
With the modification here, when opening a project directory,
we suggest the recently used projects
if the text is equal to dirname(project_dir) + "/" which
happens to be the text the command view is initially set to.
In addition we do the same if text is "". If the condition is
not met we return the suggestions from common.dir_path_suggest to
match the text entered.
Works well on Linux but may not solve the problem on Windows, it
should be tested.
2022-01-05 23:21:47 +01:00
Francesco Abbate
f3cf7ac9c7
Do not reload core.keymap module
...
Avoid reloading the core.keymap module when user's config
or project module change.
The reason is the plugins like autocomplete can add keymaps
and the additions from plugins would be lost.
Close issue #793
2022-01-04 18:06:30 +01:00
Francesco Abbate
bf578d5ee4
Fix logic for file create event
...
When we get a file or directory creation event we need to
ensure that all the parent directories pass the ignore_files
test.
2022-01-03 18:55:01 +01:00
takase1121
df0f6fb94c
make set_selections consistent
2022-01-02 19:18:08 +08:00
takase1121
e079ddfa37
refactor toggle-block-comments, make command spaces aware, set selections correctly
2022-01-02 19:14:03 +08:00
Jan200101
99ddf1fb92
Migrate to Lua 5.4
2021-12-31 13:53:01 +01:00
Francesco Abbate
445c79bb52
Revert "No longer store autocomplete options in config"
...
This reverts commit 0f1b84040d
.
The new mechanism to save config.plugins upon user's configuration
reload let us stay compatible with existing plugins.
2021-12-31 00:22:49 +01:00
Francesco Abbate
03350cc14b
Restore config.plugins when reloading config
...
Some plugins store options in:
config.plugins.<plugin-name>
so we restore all the kay-values of config.plugins when
reloading the user preferences.
2021-12-31 00:20:52 +01:00
Francesco Abbate
85d26adb62
Fix project's module loading when changing project
...
Fix a bag of subtle problem about when loading the
project module.
We need to load the project's module before to scan
the project directory.
2021-12-30 23:57:23 +01:00
Francesco Abbate
68aea88510
Fix error with ignore_files
...
There was a double error because the config.ignore_files was
used at two differect places in different ways.
Now we apply coherently the original rule to apply
config.ignore_files to the basename of each file or directory.
2021-12-30 22:24:43 +01:00
Francesco Abbate
fd074ff39a
Fix problem when opening project's module document
...
It wasn't fine to call core.open_doc without filename argument
and later call Doc:save without providing both the filename and
the absolute filename. It was giving a Doc in an inconsistent
status where self.filename was set but not self.abs_filename.
Added an asset to detect early the problem if ever happens again.
In turn the problem prevented the project's module hook to work if the
file was newly created.
2021-12-30 15:26:40 +01:00
Francesco Abbate
adaf023541
Always watch/unwatch subdirectories on all systems
...
Simplifies and uniformize the logic on the Lua side for the
setting of directories' watches. Now we always use the methods:
systems.watch_dir_add / rm
on all the project's directories at any depth when we are not
in files limit mode.
In files limited mode the functions systems.watch_dir_add/rm are
called only on the expanded folders. The shown_subdir table is also
updated only in files limited mode.
On the C side, using the dmon library, we remove the recursive argument
from the system.watch_dir and we always call it recursively except on
Linux. At the same time the functions:
systems.watch_dir_add / rm
are provided but as dummy functions that does nothing except on Linux
where they work as before to add / remove sub-directories in the inotify
watch.
In this was on the Lua side we always act we if the watches needed to be
set for each sub-directory explicitly, independently of the system.
The important improvement introduced is that we always avoid calling
dmon_watch recursively on Linux. This latter thing is problematic with
inotify and is therefore avoided on Linux.
On the other side we simplifies the logic on the Lua side and remove
conditions based on the OS used.
2021-12-30 15:25:27 +01:00
Nightwing
60322a93a8
Update toolbarview.lua
2021-12-30 11:12:24 +09:00
Nightwing
46aaf57b45
[Fix] Pointer Bug in ToolBar plugin
...
Fixes an issue where the pointer moves down when "open user module" button is spammed
2021-12-30 06:26:58 +09:00
Adam
1552f18a87
Merge pull request #753 from Jipok/highlight_selection
...
Add for config.highlight_current_line new variant: no_selection
2021-12-29 14:43:17 -05:00
Adam
416a06c566
Merge pull request #765 from Guldoman/treeview_remove_deleted
...
Better "Remove changed files/dirs from `TreeView` cache"
2021-12-29 12:41:36 -05:00
Francesco Abbate
88ed312f6b
Fix NagView missing mouse events
2021-12-29 16:00:53 +01:00
Francesco Abbate
8550049db8
Draw NagView in overlay mode
...
The NagView takes some actual space in the Y and when it appears
it cause the documents' content to be displaced.
The movement of the documents' content is annoying and should be
avoided so we draw the NagView entirely in overlay mode using defer
draw and we always keep its y size to zero to don't affect the
other application contents.
2021-12-28 16:43:27 +01:00
Francesco Abbate
2cf3c6f747
Ensure project reload when changing project module
...
Changes in project's module required an application restart to work.
Now the project will be re-scanned when the project's module changes.
In addition ensure borderless window config is changed when changed
in user's preferences.
2021-12-28 14:36:21 +01:00
Francesco Abbate
05b003eeb5
Avoid references to project's dir in TreeView
...
It is not a good practice to keep a reference to the project's
directory object outside of the "core" module itself.
The TreeView was using such a reference in the cache item for each
file or directory entry. Replace the reference to the object with
the absolute name of the project directory.
2021-12-28 14:36:21 +01:00
Francesco Abbate
0f1b84040d
No longer store autocomplete options in config
...
Plugins should not store private stuff in core.config because this
latter can be reloaded due to user changing preferences.
2021-12-28 12:25:48 +01:00
Francesco Abbate
1f0785b73f
Scan project folder after project module is loaded
...
Otherwise the initial scan of the project folder is done without
taking into account the config.ignore_files directives.
2021-12-28 10:59:01 +01:00
takase1121
33f7fe4fda
toggle comment for whole line if nothing is selected
2021-12-26 15:12:28 +08:00
takase1121
69a857bbbf
fallback to toggle-line-comment and vice versa if needed
2021-12-26 15:05:27 +08:00
takase1121
4d31b1bc40
add toggle-block-comment
2021-12-25 12:57:00 +08:00
takase1121
16df6d8bce
add option for initial size
2021-12-24 21:32:28 +08:00
Guldoman
eac82e69fb
Add parameters to `core.on_dirmonitor_{modify,delete}`
2021-12-22 23:43:56 +01:00
Francesco Abbate
9155be7a22
Ensure TreeView cache entry is removed on delete
...
Address issue:
https://github.com/lite-xl/lite-xl/issues/689
Attempt to provide a more accurate fix to commit:
59f64088e1
For this latter what happens is that any change inside a directory
cause the corresponding entry to be folded in the TreeView.
The new change is more accurate because we remove only the stale
entry corresponding to the delete event and we do not reset the
cache of the parent directory using the modify event.
2021-12-22 23:40:54 +01:00
Guldoman
9e7bdf49e9
Revert "Merge pull request #697 from Guldoman/treeview_remove_changed"
...
This reverts commit 4e078cc217
, reversing
changes made to 0c488c9492
.
2021-12-22 23:39:26 +01:00
Jipok
a19baeacb1
Support portable user config( Fix #762 )
2021-12-22 23:36:03 +05:00
takase1121
00e2e281d3
remove unsaved flag from log.txt
2021-12-22 10:54:25 +08:00
takase1121
2f65d5a26f
make the date field consistent
2021-12-22 10:53:53 +08:00
takase1121
8f06ef9b81
ensure date is rendered properly
2021-12-22 10:50:35 +08:00
Adam Harrison
978550d2a2
Restores external pastes to be normal pastes.
2021-12-21 16:23:34 -05:00
Adam
61379a9ab8
Merge pull request #713 from Jipok/master
...
Copy/cut whole line if selection empty
2021-12-21 15:53:12 -05:00
takase1121
54f6579e9d
change INFO to use style.text
2021-12-21 17:38:25 +08:00
takase1121
3e175f5ad5
Merge branch 'master' of github.com:lite-xl/lite-xl into better-logview
2021-12-21 17:37:19 +08:00
takase1121
8d7867d118
adapt style.good and style.error
2021-12-21 17:36:32 +08:00
Adam
8101c1eae3
Merge pull request #749 from Jipok/new_colors
...
Add predefined colors to style.lua: good, warn, error, modified
2021-12-20 23:06:28 -05:00
Jipok
6c1c983d1c
rootview.lua: Refactor Node:draw_tab
2021-12-21 02:20:31 +05:00
Jipok
941b283681
Support rgba hex format
2021-12-20 23:54:03 +05:00
Francesco Abbate
3109263c5d
Call dmon_unwatch when changing project
...
Fix a conspicuous omission to call the dmon_unwatch function
when changing project directory.
This uncovered a bug or a quirk of the dmon library where the watch_ids
can change as a result of calling dmon_unwatch because they are just
indexes on a contiguous array. Use a workaround to always unwatch the
first valid watch_id N times.
2021-12-20 14:42:48 +01:00
Jipok
8178fc46bb
Add some comments to style
2021-12-20 17:12:37 +05:00
Jipok
c353dd6eda
Add for config.highlight_current_line new variant: no_selection
2021-12-20 16:23:01 +05:00
Guldoman
29318be9c7
Consume unmatched character correctly
...
We must consume the whole UTF-8 character, not just a single byte.
2021-12-20 12:04:20 +01:00
Francesco Abbate
37c00c877a
Ensure TreeView cache entry is removed on delete
...
Address issue:
https://github.com/lite-xl/lite-xl/issues/689
Attempt to provide a more accurate fix to commit:
59f64088e1
For this latter what happens is that any change inside a directory
cause the corresponding entry to be folded in the TreeView.
The new change is more accurate because we remove only the stale
entry corresponding to the delete event and we do not reset the
cache of the parent directory using the modify event.
2021-12-20 11:03:49 +01:00
Francesco Abbate
405bd1c2bd
Fix logic in project's file insertion
...
The function "file_search" in core.init was sometimes giving a wrong index
value, off by one.
The problem happened for example when the entry to search was "less than"
the first entry, the function returned a value of two instead of one as
expected.
The bug was easily observed creating a new directory with a name that comes
as the first in alphabetical order within the project.
2021-12-20 09:05:45 +01:00
Adam Harrison
e512c57637
Added an exclusion for lineguide in the commandview.
2021-12-20 08:43:48 +01:00
Guldoman
23f83857c5
Don't search if there are no files
2021-12-20 08:40:43 +01:00
Jipok
0461d3bdce
Predifined colors: good, warn, error, modified
2021-12-20 01:51:52 +05:00
Jipok
4183d3b2fd
Add predefined colors to style: good, bad
2021-12-20 01:27:53 +05:00
Guldoman
2e9619f630
Directly link to our repo
2021-12-19 18:13:19 +01:00
takase1121
695c7bf781
add instruction when logview is open
2021-12-19 09:36:43 +08:00
takase1121
1526cd176c
move selection logic to mouse click
2021-12-19 09:36:24 +08:00
Adam
7ae33bf6f4
Merge pull request #738 from adamharrison/restart-keymap
...
Added in restart keymapping.
2021-12-18 13:44:04 -05:00
takase1121
becdb99222
center icons to accomodate for size difference
2021-12-18 22:42:33 +08:00
takase1121
31df408d93
make timestamp fix sized
2021-12-18 20:11:50 +08:00
takase1121
fd3b4334ce
add clipping to drawing log items
2021-12-18 20:11:24 +08:00
takase1121
b5dff196f6
make error icon red
2021-12-18 20:10:25 +08:00
takase1121
ab4ecd515b
multiple improvements to logging
...
- added style.log table
- removed contextmenu
- use ctrl+click to copy individual log entries
- use icon instead of + or - for log items in logview
2021-12-18 10:51:44 +08:00
Adam Harrison
b7631ba44a
Added in restart keymapping.
2021-12-15 16:50:38 -05:00
Guldoman
69de42b078
Set `void` to `keyword2` in `language_c` and `language_cpp` plugins
...
Move `void` to the same syntax type used by other data types.
2021-12-15 18:20:17 +01:00
Adam
997b3efbb7
Merge pull request #708 from Guldoman/treeview_styling
...
Allow `TreeView` item icon and text styling
2021-12-12 12:04:59 -05:00
Adam
dadfa4b3e8
Merge pull request #729 from adamharrison/fix-treeview-clicking
...
Fix TreeView and StatusView clicking
2021-12-11 19:05:52 -05:00
Adam
9a813c818b
Merge pull request #715 from Guldoman/split_rootview
...
Split `Node` and `EmptyView` from `RootView`
2021-12-11 18:15:33 -05:00
Adam Harrison
ff5c3c1492
Also fixed statusview.
2021-12-11 18:00:42 -05:00
Adam Harrison
95945d86ab
Removed erroneously added file.
2021-12-11 17:51:51 -05:00
Adam Harrison
7b55470159
Fixed treeview clicking not being caught.
2021-12-11 17:51:19 -05:00
Jipok
7381a13d6f
Revert "Make pasting multiple lines from clipboard same way as a single line"
...
This reverts commit 6a135f7c06
.
2021-12-12 02:23:47 +05:00
Guldoman
4faaf089ef
Consume unmatched character correctly
...
We must consume the whole UTF-8 character, not just a single byte.
2021-12-11 03:43:33 +01:00
Jipok
6a135f7c06
Make pasting multiple lines from clipboard same way as a single line
2021-12-10 19:25:28 +05:00
Jipok
4a563ddea1
Delete old forgotten self.cursor_clipboard
2021-12-10 19:23:49 +05:00
Jipok
4eee123eff
Make cursor_clipboard globa, not per doc
2021-12-08 17:34:10 +05:00
Guldoman
c16d6b3d8d
Avoid drawing hidden `TreeView` items
2021-12-07 21:45:20 +01:00
Guldoman
fdb29f28cf
Split `TreeView:draw` into multiple functions
...
This allows plugins to override each aspect of TreeView item drawing.
2021-12-07 21:44:20 +01:00
Guldoman
7cb2068bb8
Split `Node` and `EmptyView` from `RootView`
2021-12-06 22:28:29 +01:00
Jipok
acc7ceefd4
Correct paste after 'Cut/copy whole line'
2021-12-06 17:59:49 +05:00
Adam
994c62b64a
Merge pull request #497 from lite-xl/fix-javascript-regexp-syntax
...
Try to fix problem with js syntax of '/=' operator
2021-12-06 00:17:07 -05:00
Adam
2997aa2652
Merge pull request #705 from Guldoman/check_if_proj_dir
...
Check the entire path in `TreeView` predicate
2021-12-05 14:23:34 -05:00
Jipok
93d9e61a03
Copy/cut whole line if selection empty
2021-12-05 20:30:03 +05:00
Nightwing
0705c23c35
Improved Markdown syntax highlighter
2021-12-03 23:50:23 +09:00
Guldoman
5029e2ce29
Add name to plain text fallback syntax
2021-12-02 22:34:49 +01:00
Guldoman
d7afcb08b1
Check the entire path in `TreeView` `new-file` and `new-folder` commands
2021-11-30 01:11:35 +01:00
Guldoman
e500368ce4
Allow `TreeView` item icon and text styling
2021-11-29 23:36:49 +01:00
Guldoman
ef4c02ab0e
Check the entire path in `TreeView` predicate
2021-11-28 07:16:53 +01:00
Adam Harrison
01e38f041a
Used basenames for ignore_files rather than full paths.
2021-11-27 13:16:49 -05:00
Adam
a607ef95f9
Merge pull request #682 from Guldoman/indent_refactor
...
Refactor how to get the indentation of a `Doc`
2021-11-27 11:55:36 -05:00
Adam
4767ffe58d
Merge pull request #693 from adamharrison/fix-scrollbar-split
...
Added in check to make sure you can use a scrollbar on a split.
2021-11-27 11:44:22 -05:00
Adam
1b22c85dd5
Merge pull request #694 from adamharrison/fix-context-menu
...
Added in cut, copy and paste to the context menu, amongst other things.
2021-11-27 11:44:10 -05:00
Adam
3e79595e24
Merge pull request #695 from adamharrison/additional-scale-variables
...
Added in additional environment variables to scale off of.
2021-11-26 22:07:32 -05:00
Adam
4e078cc217
Merge pull request #697 from Guldoman/treeview_remove_changed
...
Remove changed files/dirs from `TreeView` cache
2021-11-26 22:07:19 -05:00
Francesco Abbate
0c488c9492
Fix logic in project's file insertion
...
The function "file_search" in core.init was sometimes giving a wrong index
value, off by one.
The problem happened for example when the entry to search was "less than"
the first entry, the function returned a value of two instead of one as
expected.
The bug was easily observed creating a new directory with a name that comes
as the first in alphabetical order within the project.
2021-11-26 13:45:13 +01:00
Adam
fe6ba4adb7
Merge pull request #696 from adamharrison/fix-lineguide
...
Added an exclusion for lineguide in the commandview.
2021-11-24 13:28:04 -05:00
Adam
9b24563b84
Merge pull request #692 from adamharrison/draw-whitespace-color
...
Added in the ability to specify a color for whitespace.
2021-11-24 13:23:34 -05:00
Guldoman
59f64088e1
Remove changed files/dirs from `TreeView` cache
2021-11-24 06:16:54 +01:00
Guldoman
5dca37b11a
Don't search if there are no files
2021-11-24 05:03:42 +01:00
Adam Harrison
f7b3a2b0c2
Added an exclusion for lineguide in the commandview.
2021-11-23 22:35:11 -05:00
Adam Harrison
7ee23da187
Added in additional environment variables to scale off of.
2021-11-23 22:30:35 -05:00
Adam Harrison
463605ff41
Fixed event propogation.
2021-11-23 21:56:07 -05:00
Adam Harrison
64f66e5d1e
Added in cut, copy and paste to the context menu. Also removed find pattern, as that's no longer a valid command. Also made it so commands only show up if their predicates are valid.
2021-11-23 21:03:38 -05:00
Adam Harrison
cc3fddd1e5
Added in check to make sure you can use a scrollbar on a split.
2021-11-23 20:34:01 -05:00
Adam Harrison
3162f4ea4f
Added in the ability to specify a color for whitespace.
2021-11-23 18:42:01 -05:00
PIESEL
00d555b016
Apply again cd10497b49
...
Use Python syntax highlighting for Ren'Py scripts.
2021-11-23 22:24:03 +01:00
Guldoman
cd2adb4a30
Apply again 1976facaf1
...
Use reverse search for `find-replace:previous-find`
2021-11-23 22:22:52 +01:00
Adam Harrison
96db380c73
Manual merge of into .
2021-11-23 15:57:22 -05:00
Adam
43a6e21135
Merge pull request #681 from Guldoman/prepopulate_highlighter
...
Prepopulate highlighter
2021-11-23 15:38:20 -05:00
Guldoman
955acf53a3
Merge pull request #673 from vincens2005/master
...
Add BigInt literal and numeric separators to js syntax highlighter
2021-11-22 22:23:23 +01:00
cukmekerb
65f1251767
JS hex BigInts and hex numeric separators
2021-11-22 12:15:19 -08:00
Adam
9869484ec6
Merge pull request #683 from Guldoman/named_languages
...
Add names to language plugins
2021-11-22 11:41:49 -05:00
Guldoman
23a0f6ca79
Speed up highlighter notify
...
Avoid calling `table.{insert,remove}` multiple times, as this causes
multiple shifts in the `self.lines` table.
2021-11-22 06:23:16 +01:00
Joshua Minor
373007a767
Switched to TreeView:color_for_item(abs_path)
2021-11-21 15:24:45 -08:00
Joshua Minor
bede0ff878
Allow for color overrides in the tree view
2021-11-21 00:24:24 -08:00
Guldoman
3176b467ca
Add names to language plugins
2021-11-21 03:46:43 +01:00
Guldoman
2de48b6ac8
Adapt `detectindent` to the new indentation architecture
2021-11-20 04:40:58 +01:00
Guldoman
3d9901695b
Use the new `Doc:get_indent_info` throughout `core`
2021-11-20 04:37:15 +01:00
Guldoman
b77b1c0221
Add `Doc:get_indent_info`
...
It returns the indentation type, size and confirmation status, used by
the `Doc`.
2021-11-20 04:36:58 +01:00
Guldoman
d0a2c913f5
Pre-populate the highlighter
...
This avoids problems with calls to `[insert,remove]_notify` on lines
that the highlighter has not yet added.
2021-11-20 01:18:37 +01:00
Guldoman
f24aa64cd5
Add `soft_reset` to highlighter
...
This allows clearing the `lines` table without removing entries.
2021-11-20 01:15:13 +01:00
Joshua Minor
4f55555ca9
Selection expands by word or line on double or triple click followed by drag.
2021-11-19 09:46:13 -08:00
Takase
d7c309d8e2
Merge branch 'master' into lineguide-config
2021-11-17 11:59:59 +08:00
Guldoman
6a7a02542f
Draw only visible whitespaces
2021-11-17 02:57:14 +01:00
Takase
8e6f594790
Merge branch 'master' into replace-unpack
2021-11-17 08:42:08 +08:00
takase1121
6d36f2684a
add polyfill for table.pack and table.unpack
2021-11-17 08:37:37 +08:00
Adam Harrison
18959aebef
Fixed predicate and minor propogation issue.
2021-11-16 19:12:39 -05:00
Adam
c58029df8b
Merge pull request #589 from adamharrison/clicks-keymap
...
Added in clicks to keymap.
2021-11-16 15:49:52 -05:00
cukmekerb
46f81e0bad
add BigInt literal and numeric separators to js syntax highlighter
2021-11-15 09:20:34 -08:00
Takase
285ea4f495
Merge branch 'master' into keymap-improvements
2021-11-15 21:59:04 +08:00
Adam
ca448c5fdb
Merge pull request #664 from Guldoman/highlight_caret_line
...
Highlight any line that contains a caret
2021-11-14 16:27:25 -05:00
Adam Harrison
2463c5d209
Made keymap more flexible.
2021-11-14 15:51:27 -05:00
Adam Harrison
acc6667f57
Bug.
2021-11-14 15:45:46 -05:00
Adam Harrison
d8473a3e00
Changed click prefixes to be numbers, as Takase suggested.
2021-11-14 15:44:54 -05:00
Adam Harrison
2931bdeb68
Can't forget mac.
2021-11-14 15:41:28 -05:00
Adam Harrison
50c0659445
Also changed docview mousewheel into a scroll command.
2021-11-14 15:41:28 -05:00
Adam Harrison
7babed1e6b
Added in more broad strokes for clicking to match wheel. 's' is single, 'd' is double, 't' is triple, and no prefix will always take any amount of clicks.
2021-11-14 15:41:28 -05:00
Adam Harrison
7a3e8ed86a
Added in mousewheel as part of this.
2021-11-14 15:41:28 -05:00
Adam Harrison
c04dc648de
Refactored things out.
2021-11-14 15:41:28 -05:00
Adam Harrison
1968d31b7c
Keymap.
2021-11-14 15:41:28 -05:00
Adam Harrison
6bdcfc824d
Rearranged things to make a bit more sense.
2021-11-14 15:41:28 -05:00
Adam Harrison
7905ddd26f
Fixed propogation again.
2021-11-14 15:41:28 -05:00
Adam Harrison
4e313d9fc5
Propogated mouse clicks correctly.
2021-11-14 15:41:28 -05:00
Adam Harrison
ce2ec9f442
Moved commands out to the outer event loop.
2021-11-14 15:41:28 -05:00
Adam Harrison
6f53ee1b69
Added in double, and triple clicking.
2021-11-14 15:41:28 -05:00
Adam Harrison
4a0d390a7c
Added in macos keys.
2021-11-14 15:41:28 -05:00
Adam Harrison
612818ca05
Added in clicks to keymap.
2021-11-14 15:41:28 -05:00
Adam Harrison
1376eaf54d
Made varaible anonymous.
2021-11-14 15:40:23 -05:00
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
Francesco Abbate
afd0672197
Use line/col to identify selection in replace command
2021-09-10 14:54:55 +02:00
Francesco Abbate
cec1e4efb9
Do not fail search if there was an option change
2021-09-09 23:30:18 +02:00
Francesco Abbate
d9afc40a17
Bring back command find-replace:select-next
...
Bring back the command like before to keep single selection but with
ctrl+f3 keybindings. Change the name of the new multi-cursor command
but keep the ctrl+d keybinding.
2021-09-09 21:40:41 +02:00
Guldoman
aa0e083cb9
Allow `find-replace:select-next` to select more occurrences after wrap
...
The initial position for the search is defined by the last selection
towards the end of the file.
After reaching the end of the file, it would always select the same
selection to start the search from.
Now, we start the search from each selection, until a new occurrence is
found.
2021-09-09 21:38:12 +02:00
Francesco Abbate
4964c30e12
Bring back command find-replace:select-next
...
Bring back the command like before to keep single selection but with
ctrl+f3 keybindings. Change the name of the new multi-cursor command
but keep the ctrl+d keybinding.
2021-09-09 19:12:56 +02:00
Guldoman
17185075c6
Allow `find-replace:select-next` to select more occurrences after wrap
...
The initial position for the search is defined by the last selection
towards the end of the file.
After reaching the end of the file, it would always select the same
selection to start the search from.
Now, we start the search from each selection, until a new occurrence is
found.
2021-09-09 18:43:08 +02:00
Francesco Abbate
04250a206a
Add previous find and replace in session
2021-09-09 15:42:16 +02:00
Francesco Abbate
403b7f6fb6
Add missing remove tooltip call
2021-09-09 15:42:16 +02:00
Francesco Abbate
b440a22581
Remeber initial user text for hidden suggestions
...
When using hidden suggestions remember the text user was typing when
navigating suggestions.
Ensure also that in the previously searched expressiosn we have no
duplicate entries.
2021-09-09 15:42:16 +02:00
Francesco Abbate
fa8b3b33b1
Use hidden suggestions also for replace dialog
2021-09-09 15:42:16 +02:00
Francesco Abbate
4bcc1cc07c
Fix error with hidden suggestions
...
Avoid indexing a nil if there are no suggestions.
2021-09-09 15:42:16 +02:00
Francesco Abbate
f85fe102d9
Implement hidden suggestions for find dialog
2021-09-09 15:42:16 +02:00
Francesco Abbate
dfb64fbdf1
Do not add selection with newlines in replace
...
If the selected text containes newlines it doesn't make sense to
use it as the initial text in the "replace text" command view.
Do not use the selected text if a newline is found in the selection.
Fix #511 .
2021-09-09 15:39:41 +02:00
takase1121
7a24dbb17e
revert new keyboard bindings
2021-09-09 07:44:58 +02:00
takase1121
1a21c66353
add autocomplete:cycle
...
Some (probably lots) of people are used to tabbing through autocomplete.
now, tab is binded to autocomplete:cycle while enter is binded to
autocomplete:complete.
2021-09-09 07:44:58 +02:00
takase1121
5cc23348a1
reverse the order of args in keymap.unbind
2021-09-08 23:17:50 +08:00
takase1121
7e4236a82f
add keymap.unbind(), update contextmenu to use keymap.get_binding()
...
This is something probably people are looking for...
2021-09-08 23:11:36 +08:00
Guldoman
0a52861129
Revert horizontal scroll implementation
2021-09-08 07:11:50 +02:00
Guldoman
0a36e66aba
Fix `treeview:open-in-system` command on Windows
...
The first argument is the title for the `CMD` window.
2021-09-07 22:35:56 +02:00
Guldoman
474952645c
Fix `treeview:open-in-system` command on Windows
...
The first argument is the title for the `CMD` window.
2021-09-07 22:33:48 +02:00
Francesco Abbate
2b277bb502
Fix problem with -psn argument on macOS
2021-09-07 06:44:15 -07:00
Francesco Abbate
67d7b894ae
Add initial suggestion in open-project-folder
2021-09-07 15:23:41 +02:00
Francesco Abbate
90c721b823
Adopt bigger fonts by default
2021-09-07 15:11:20 +02:00
Guldoman
f9c7eeeeb8
Check if session file returned anything
2021-09-07 15:03:00 +02:00
Guldoman
3278eebdad
Avoid exposing `treeview` commands when not usable
2021-09-07 15:03:00 +02:00
Guldoman
9887dd4746
Make open files follow renames
2021-09-07 15:03:00 +02:00
Guldoman
59aa7f0090
Fix absolute path detection in `core.project_absolute_path`
2021-09-07 15:03:00 +02:00
Guldoman
de4072e207
Avoid checking for unique selections on non-`DocView`s
2021-09-07 15:03:00 +02:00
Adam Harrison
b7f2d1ad03
Forgot to return an 'n'.
2021-09-07 15:03:00 +02:00
Adam Harrison
7811660caf
Fixed replace to make it multicursor-aware.
2021-09-07 15:03:00 +02:00
Timofffee
604626fa32
Fix macOS keymap
2021-09-07 15:03:00 +02:00
Adam Harrison
1d61cf989f
Fixed cursor movement.
2021-09-07 15:03:00 +02:00
Adam Harrison
d352eb1cb9
Fixed cursors moving around with removal and inserts with cursors. Also fixed drawing line highlights with multicursors.
2021-09-07 15:03:00 +02:00
Adam Harrison
9d4e944549
Added in two new VSC-style multicursor shortcuts.
2021-09-07 15:03:00 +02:00
Francesco Abbate
68c1cc606f
Bring back min len autocomplete default to 3
2021-09-07 15:03:00 +02:00
Guldoman
e93bbc559c
Fix crash in project search when project has no files
2021-09-07 15:03:00 +02:00
Guldoman
d3bd35b577
Use plain `string:find` when matching plugin directories
2021-09-07 15:03:00 +02:00
Guldoman
7f338fc993
Allow tabs to always be visible
2021-09-07 14:59:03 +02:00
Takase
fb907c9bf4
increase code readibility
2021-09-07 14:59:03 +02:00
takase1121
97493a1a4e
add doc:get_selection_text()
2021-09-07 14:59:03 +02:00
takase1121
30d3751632
remove unused variable
2021-09-07 14:59:03 +02:00
takase1121
14565b5226
more changes to logview
...
- remove draw_text_elipsis
- remove clip rect operations
- fix text drawing when expanded
- simplify code
2021-09-07 14:59:03 +02:00
takase1121
e25ea1196a
add context menu options for logview
2021-09-07 14:59:03 +02:00
takase1121
622b162225
add core.get_log()
2021-09-07 14:59:03 +02:00
takase1121
afaf0a718d
improve logview
...
The logview is now less cluttered.
The filename and stack trace (if any) is hidden by default.
The user can click on the log entry to expand it.
2021-09-07 14:59:03 +02:00
Francesco Abbate
28e8a98ffc
Fix error in change-project-folder command
2021-09-07 05:21:45 -07:00
Francesco Abbate
3cc4cd1ada
Fix error when opening root directory
2021-09-07 05:09:26 -07:00
Guldoman
444c929e3c
Add commands to manage tab style
2021-09-07 07:53:03 +02:00
Guldoman
0d2a89cb76
Don't use threads in `detectindent`
...
As it's execution only happens on load/save.
2021-09-07 07:53:03 +02:00
Guldoman
501be5fdfe
Use configured indent values if `detectindent` can't detect them
2021-09-07 07:53:03 +02:00
Guldoman
e99c76f8b8
Update `detectindent` cache only after saving/reloading
...
Before, if the indent wasn't fully detected, `detectindent` would try to
update every second. On files with very long lines this would cause
stutters.
Now the indent is updated only once after saving/reloading.
2021-09-07 07:53:03 +02:00
Francesco Abbate
4f68f7fd92
Try to fix problem with js syntax of '/=' operator
...
The operator '/=' was wrongly considered by the js syntax file as the
beginning of a regexp literal.
With this modification we modify the pattern for regexp literals to not
match expressions starting with '/='.
This doesn't seem entirely correct because apparently javascript can accept
regexp literals starting with '/=' but the rule used by the javascript
lexer is not known.
2021-09-06 09:31:17 +02:00
Guldoman
371914af67
Check if session file returned anything
2021-09-04 00:32:01 +02:00
Guldoman
e559afaefc
Add a simple cache to `DocView:get_h_scrollable_size`
...
This function gets called at every `core.step`, so we should avoid
having to recalculate the scrollable size every time, as it could get
very expensive on long lines.
2021-09-03 00:55:10 +02:00
Guldoman
f18629ab64
Avoid exposing `treeview` commands when not usable
2021-09-02 23:19:40 +02:00
Guldoman
167cda23f6
Make open files follow renames
2021-09-02 23:19:40 +02:00
Guldoman
46d1203d08
Fix absolute path detection in `core.project_absolute_path`
2021-09-02 18:58:24 +02:00
Guldoman
f31312fd16
Avoid checking for unique selections on non-`DocView`s
2021-09-01 16:29:47 +02:00
Guldoman
a920e5b0e6
Avoid setting a new file as dirty if it is empty
2021-08-31 23:16:02 +02:00
Adam Harrison
e541236c22
Forgot to return an 'n'.
2021-08-31 16:21:40 -04:00
Adam Harrison
1c4a4e763e
Fixed replace to make it multicursor-aware.
2021-08-30 22:56:33 -04:00
Adam
8d6ac47cd0
Merge pull request #451 from Timofffee/fix-macos-keymap
...
Fix macOS keymap
2021-08-30 13:37:07 -04:00
Guldoman
235b1f0385
Avoid recreating `line_numbers` table when a recalc is needed
2021-08-30 17:58:22 +02:00
Guldoman
4d0656ad7e
Avoid recreating tables when calculating the longest lines
2021-08-30 17:58:22 +02:00
Guldoman
92bbb30d06
Split vertical and horizontal scrollbar-related functions and variables
2021-08-30 17:58:22 +02:00
Guldoman
4a03aec073
Set horizontal scroll size to be more in line with other editors
...
Only scroll enough to see the whole line.
2021-08-30 17:58:22 +02:00
Guldoman
2d33fdc656
Show correct mouse cursor when hovering the horizontal scrollbar
2021-08-30 17:58:22 +02:00
Guldoman
5c7b133e0b
Add horizontal scrollbar
...
Classes and plugins that relied on having only the vertical scrollbar
should continue working.
2021-08-30 17:58:22 +02:00
Guldoman
f106993d0e
Fix discrepancy in max line length
...
The line length calculated in `Doc:load` didn't account for the newline
that gets added.
2021-08-30 17:58:22 +02:00
Guldoman
3e6afeccc0
Remove line from longest lines table only if needed
...
Checking if a line needs to be removed is faster than just trying to
remove it.
2021-08-30 17:58:22 +02:00
Guldoman
c16145d562
Define horizontal scrollable size for `DocView`
2021-08-30 17:58:22 +02:00
Guldoman
f1ca00fbed
Extend `View` to allow horizontal scrolling
2021-08-30 17:58:22 +02:00
Guldoman
e52362e55f
Make `Doc` keep track of max line length
2021-08-30 17:58:22 +02:00
Adam
3eb6f1dbd4
Merge pull request #430 from adamharrison/vsc-multicursor-shortcuts
...
Added in two new VSC-style multicursor shortcuts.
2021-08-30 10:52:09 -04:00
Francesco Abbate
e94718c5c4
Bring back min len autocomplete default to 3
2021-08-30 14:35:42 +02:00
Timofffee
6e5452844c
Fix macOS keymap
2021-08-30 16:21:16 +04:00
Adam Harrison
4ae16615e8
Fixed cursor movement.
2021-08-29 20:05:58 -04:00
Adam Harrison
bbe4e21f52
Fixed cursors moving around with removal and inserts with cursors. Also fixed drawing line highlights with multicursors.
2021-08-29 17:54:57 -04:00
Guldoman
ab6eac399c
Fix crash in project search when project has no files
2021-08-29 11:13:39 +02:00
Guldoman
76334a7946
Use plain `string:find` when matching plugin directories
2021-08-29 11:11:19 +02:00
takase1121
30ccde896d
replace unpack() with table.unpack()
...
I have no idea unpack() is still used and how it still worked.
2021-08-29 09:14:12 +08:00
Adam Harrison
58f4963ade
Added in two new VSC-style multicursor shortcuts.
2021-08-28 13:42:06 -04:00
Francesco Abbate
ccba91261d
Merge remote-tracking branch 'origin/fix-2.0.1'
2021-08-28 17:37:55 +02:00
Francesco Abbate
f1c004411c
Add missing home_encode for change-project-folder
2021-08-28 08:08:53 -07:00
Daniel Rocha
2b1c157a36
Refactored minimum scale bug fix code
2021-08-28 16:00:41 +02:00
Daniel Rocha
49ec7c88e8
Fix the additional four spaces to two spaces in the indent
2021-08-28 16:00:41 +02:00
Daniel Rocha
dac3a9cba5
Fix minimal scale possible
2021-08-28 16:00:41 +02:00
Daniel Rocha
95e86b040b
Refactored minimum scale bug fix code
2021-08-28 13:00:33 +02:00
Daniel Rocha
8335b11273
Fix the additional four spaces to two spaces in the indent
2021-08-28 13:00:33 +02:00
Daniel Rocha
e342a017e1
Fix minimal scale possible
2021-08-28 13:00:33 +02:00
Francesco Abbate
06252382ec
Fix focus problem with NagView with root:close-all
...
Fix provided by @Guldoman in PR:
https://github.com/lite-xl/lite-xl/pull/419
2021-08-28 00:21:29 +02:00
Francesco Abbate
4f8de02bcf
Remove unused Object's method "implement"
...
Not used in the code base.
2021-08-28 00:08:30 +02:00
Francesco Abbate
d46475532f
Introduce View objects context property
...
Used to determine if an instance of the given class should
be closed or not when a project session is terminated.
2021-08-27 23:55:17 +02:00
Francesco Abbate
9592ce85f5
Revert "Further simplifies logic for active view in close-all command"
...
This reverts commit bb6b99b167
.
2021-08-27 23:20:08 +02:00
Guldoman
c7d044f178
Allow tabs to always be visible
2021-08-27 20:43:13 +02:00
Francesco Abbate
a8f4c0c4e5
Set initial text for core:change-project-folder
2021-08-27 15:22:09 +02:00
Francesco Abbate
bb6b99b167
Further simplifies logic for active view in close-all command
2021-08-27 14:42:57 +02:00
Francesco Abbate
7f4d9789d6
Simplify commit daf91676
about active view setting
2021-08-27 13:02:28 +02:00
Francesco Abbate
456f6eda65
Do not use os.exit to exit the application
...
Properly quit the application by terminating the core.run()
function. Otherwise a BadWindow event was happening when
closing the window.
2021-08-27 00:17:50 +02:00
Francesco Abbate
daf916769f
Fix bug with close-all command
...
There are really multiple things here in the close_all_docviews
function:
1. we reset the Node's tab_offset
2. we ensure the core's active_view is properly set
3. we close LogViews as well as DocViews
Some conditions seems to never happen but we stay safe and try
to cover all possible cases.
2021-08-27 00:13:40 +02:00
Francesco Abbate
dc501cb41a
Fix plugin version check
2021-08-25 23:45:18 +02:00
Takase
816ceb4493
increase code readibility
2021-08-24 11:35:53 +02:00
takase1121
cf7ebdad1f
add doc:get_selection_text()
2021-08-24 11:35:53 +02:00
takase1121
1d9f04e7d6
remove unused variable
2021-08-24 11:31:22 +02:00
takase1121
6ac1428b51
more changes to logview
...
- remove draw_text_elipsis
- remove clip rect operations
- fix text drawing when expanded
- simplify code
2021-08-24 11:31:22 +02:00
takase1121
2fec3052ce
add context menu options for logview
2021-08-24 11:31:22 +02:00
takase1121
7c3daa0f39
add core.get_log()
2021-08-24 11:31:22 +02:00
takase1121
cb639700b3
improve logview
...
The logview is now less cluttered.
The filename and stack trace (if any) is hidden by default.
The user can click on the log entry to expand it.
2021-08-24 11:31:22 +02:00
Francesco Abbate
b76917ef9e
Require modversion 2
2021-08-19 14:37:03 -07:00
Francesco Abbate
d9e73a97ea
Merge remote-tracking branch 'harens/macos-bundle'
2021-08-19 11:32:36 +02:00
harens
2d088256b1
Add unix-like behaviour on macOS
...
Closes https://github.com/lite-xl/lite-xl/issues/398
2021-08-18 13:26:51 +01:00
Adam Harrison
b6af395fc7
2.0 changelog and modversion updates.
2021-08-17 20:24:44 +02:00
Adam
2ea62eee8f
Merge pull request #391 from adamharrison/fix-replace-tooltip
...
Added in additional function to remove tooltip after cancelling replace.
2021-08-14 09:12:20 -04:00
Adam
9e45b1de58
Merge pull request #390 from adamharrison/cursor-fixes
...
Fixed multilne cursors at the edges of docuemnts.
2021-08-14 09:12:13 -04:00
Adam Harrison
5f1e68b824
Added in additional function to remove tooltip after cancelling replace.
2021-08-14 09:11:07 -04:00
Adam Harrison
8e9c410d27
Fixed multilne cursors at the edges of docuemnts.
2021-08-14 08:59:37 -04:00
Adam
37dcc4725f
Merge pull request #376 from adamharrison/clipboard-fix
...
Added in a hash check to the system clipboard.
2021-08-12 15:30:50 -04:00
Adam
db3e9cb914
Merge pull request #384 from adamharrison/fix-multi-directory
...
Handle proper path normalization if we begin with '..'.
2021-08-12 09:53:16 -04:00
Adam
f3e750ccb4
Merge pull request #378 from adamharrison/close-other-tabs
...
Added in close others, and refactored close all.
2021-08-12 09:53:04 -04:00
Adam
d9fc6d407b
Merge pull request #377 from adamharrison/regex-anchored
...
Fixed small bug on bootup, and added in a multiline qualifier to replacements.
2021-08-12 09:52:54 -04:00
Francesco Abbate
3396a6c802
Use the start.lua file in data/core as a template
...
Instead of having a separate start.lua.in file in the scripts directory
and no start.lua file in data/core we use the file data/core/start.lua
as a template for Meson to generate the final start.lua file for release.
In this way people naturally trying to run lite-xl from the source folder
will have a start.lua file albeit without a resolved version number.
Otherwise, when using run-local script or the meson install command the
meson-generated start.lua file will be used as it should be.
2021-08-12 10:35:32 +02:00
Adam Harrison
e2a7578553
If multiple '..' handle correctly.
2021-08-11 20:54:03 -04:00
Adam Harrison
5e66f74f38
Handle proper path normalization if we begin with '..'.
2021-08-11 19:19:58 -04:00
Adam Harrison
acd122bc34
Small fix.
2021-08-11 18:38:36 -04:00
Adam Harrison
aa4d91a03f
Reverted hash changes; simply copy entire clipboard.
2021-08-11 18:14:46 -04:00
luarocks
205b52b08a
Revert language_lua
2021-08-11 23:33:00 +02:00
luarocks
0bafece6a6
Add textadept theme and correct language_lua just a bit
2021-08-11 23:33:00 +02:00
Adam Harrison
c644ca7df6
keep_inactive -> keep_active
2021-08-10 23:29:39 -04:00
Adam Harrison
40c68ffcc6
Pairs -> IPairs
2021-08-10 23:18:30 -04:00
Adam Harrison
851dc07408
Added in close others, and refactored close all.
2021-08-10 23:14:40 -04:00