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
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
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
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
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
Francesco Abbate
f1c004411c
Add missing home_encode for change-project-folder
2021-08-28 08:08:53 -07: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
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
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
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
Adam Harrison
26a77542e3
Fixed small bug on bootup, and added in a multiline qualifier to replacements.
2021-08-10 22:01:28 -04:00
Adam Harrison
255c45b30b
Since we're modifying the clipboard, actually makes way more sense to use this hash.
2021-08-10 21:29:33 -04:00
Adam Harrison
71e62ce84f
Added in a hash check to the system clipboard.
2021-08-10 21:25:40 -04:00
Adam
f3a8e264fe
Merge pull request #370 from adamharrison/home-fixes
...
Changed behaviour of home.
2021-08-10 14:46:48 -04:00
redtide
3468164518
Updated Meson configuration
...
- Added version and license metadata
- Configuration data to be used in configured files to set metadata
- Portable binary and directories in the main install directory
- Binary file installed in correct places for all supported platforms
- Freedesktop AppStream support
- Added missing files install rules
2021-08-09 22:26:16 +02:00
Adam Harrison
3c8da0fc3f
Added in selection as well.
2021-08-06 18:09:36 -04:00
Adam Harrison
2bf56e67c5
Changed behaviour of home.
2021-08-06 18:08:08 -04:00
Francesco Abbate
0b2bf227a8
Fix inactive divider intercepting mouse clicks
...
In the function Node:get_divider_overlapping_point() we check if we
hit a divider (separator between two nodes). If yes the event is
intercepted and used to set the cursor and drag the separator if
appropriate.
In reality, on mouse move events, when one of the node is a split
and one of its child is not resizable we don't set the cursor to
and we don't intercept the event. However on a mouse pressed event
the event was intercepted regardless of the fact that the child
nodes are resizable or not. This latter behavior was unwanted as it
prevents mouse clicks to be processed because of a divided that is
inactive.
In addition it prevented processing of mouse clicks when the child
node was invisible leading to issue #363 . For this latter the issue
was the invisible NagView in the upper part of the window.
To fix the problem we provide a divider with
Node:get_divider_overlapping_point() only if its child node are
resizable. In this way the mouse clicks or movements are intercepted
only if the divider is actually active.
2021-08-06 09:07:17 -07:00
Adam
47eaca18d8
Merge branch 'master' into Merged
2021-08-01 14:58:36 -04:00
Francesco Abbate
135ad072bd
Move gutter width calculation out of loop
2021-07-28 13:02:38 -07:00
cukmekerb
4ad353eb4b
fix line number align bug
2021-07-28 13:02:38 -07:00
cukmekerb
63f406773b
align line numbers to right
2021-07-28 13:02:38 -07:00
Francesco Abbate
8103f21991
Only load plugins that are lua files
...
Before trying to load a plugin or checking its version verify if it
looks like a lua file.
Close issue #349 .
2021-07-27 23:18:15 +02:00
ep
af22a6a824
+readability, hopefully
2021-07-26 03:50:57 -07:00
ep
2df363747b
fix workspace folders on different drives in Windows
2021-07-26 03:50:57 -07:00
Adam Harrison
152fd6c66c
Fixed doc, and fixed plugin load.
2021-07-20 15:09:14 -04:00
Adam Harrison
c461cfae93
Removed unecessary duplicates.
2021-07-20 14:50:40 -04:00
Adam Harrison
0777a6f0b8
Merged dev to master.
2021-07-20 14:39:50 -04:00
Francesco Abbate
d3f1a3a5b2
Bump 2.0-beta1 version
2021-07-17 21:30:25 +02:00
Adam Harrison
6330f4d596
Allowed find to function across different views.
2021-07-15 18:29:48 -04:00
Adam Harrison
a218a95c45
Updated keys as well.
2021-07-15 18:21:54 -04:00
Adam Harrison
0dda252096
Reverted find fixes.
2021-07-15 18:15:05 -04:00
takase1121
6bcdaa9d7a
Revert "fix number of parameters passed to self:move_towards"
...
Apparently the LSP intellisense is wrong on this one, this actually
causes an infinite loop
2021-07-15 18:01:27 -04:00
takase1121
169b8abae5
fix number of parameters passed to self:move_towards
...
self:move_towards(self) causes self to be passed twice, ignoring rate
2021-07-15 18:01:24 -04:00
takase1121
f4f33bd36b
remove deprecated code
2021-07-15 18:01:24 -04:00
Francesco Abbate
265501bb9e
Fix problem with previous commit
...
Desastrous problem where core.normalize_path was removing the leading /.
2021-07-15 18:01:18 -04:00
Francesco Abbate
e1530c0951
Remove duplicate normalize_path function
...
Use the function defined in the "common" module.
Move the check for not-nil filename from common.normalize_path
to core.open_doc. In this latter the filename can be nil if a
new unnamed document is created.
2021-07-15 18:01:17 -04:00
Adam Harrison
e539310e6d
Namespace plugin-specific configuration settings.
2021-07-15 17:58:14 -04:00
Adam
d10865bcc4
Merge pull request #303 from jgmdev/treeview-contextmenu
...
Added context menu to treeview.
2021-07-13 22:59:24 -04:00
Adam
e1ae94a01b
Merge pull request #318 from lite-xl/MacOSClose
...
Created an extra command, to implement appropriate cmd+w behaviour on Mac.
2021-07-09 14:30:48 -04:00
lqdev
e5b2a7cbe8
reset blink timer when a new cursor is created
2021-07-01 14:50:28 +02:00
Adam
9126b5e64d
Merge pull request #313 from jgmdev/add-system-rmdir
...
Added `system.rmdir(path)`, and `common.rm(path, recursive)`
2021-06-29 17:44:58 -04:00
jgmdev
68459a9199
Added context menu to treeview.
2021-06-28 11:11:49 -04:00
jgmdev
4188269cef
Added system.rmdir(path)
...
It is reported that the built-in lua function os.remove(path) does
not removes empty directories on windows. To fix this a system.rmdir
function is introduced that calls a native win32 function.
Also common.rm(path, recursively) was added which wraps system.rmdir()
to easily delete an entire folder with all its contents.
2021-06-28 11:07:27 -04:00
Adam Harrison
c2c59e9c99
Fixed XDG issue.
2021-06-28 10:44:40 -04:00
Adam Harrison
f899848631
Added in checks so that the entire thing isn't consumed.
2021-06-27 13:27:20 -04:00
Adam Harrison
fd3f25608f
Created an extra command, to implement appropriat cmd+w behaviour on mac.
2021-06-27 13:18:54 -04:00
Adam Harrison
cc568e65fc
Changed over ctrl+w keybinding over to cmd+w, as per #311 .
2021-06-24 18:00:50 -04:00
Adam
83a604dfb7
Merge pull request #296 from lite-xl/font-copy-api
...
Add a C API copy method for font_desc objects
2021-06-24 12:47:16 -04:00
Adam Harrison
f9edca712d
Added in lineguide to core.
2021-06-21 23:21:07 +02:00
Francesco Abbate
1cf0f2009c
Add a C API copy method for font_desc objects
...
Add a renderer.font's method "copy" to clone the font object
by specifying an optional new size. In the size is not given
the size of the original object is used.
Should fulfill the request from issue #288 .
2021-06-21 11:18:52 +02:00
Adam Harrison
8b2fb67b9b
Fixed regex replace.
2021-06-20 22:24:20 -04:00
Adam Harrison
46e939a3e6
Fixed a minor bug.
2021-06-20 21:34:42 -04:00
Adam Harrison
305921299f
Added in tooltips, the ability to swap between different find modes with a keybind.
2021-06-20 21:22:37 -04:00
Adam
2486f253eb
Abstracted out draw caret, so that the line guide can draw under it. ( #287 )
...
* Abstracted out draw caret, so that the line guide can draw under it.
* Moved caret drawing out to draw_overlay.
2021-06-20 22:16:35 +02:00
jgmdev
1a51dad23c
Added Doc:on_close() for plugins
2021-06-20 00:13:07 -04:00
Adam Harrison
bd02095a13
Fixed minor bugs; swap no longer returns from get.
2021-06-18 23:58:55 -04:00
Adam Harrison
704e04396f
Rebased, and added the ability for ctrl to just create new cursors.
2021-06-18 17:33:55 -04:00
Adam Harrison
292c98935c
Fixed recursion error.
2021-06-18 17:33:55 -04:00
Adam Harrison
3541ab4aa1
Removed unecessary check.
2021-06-18 17:33:55 -04:00
Adam Harrison
0210264552
Made get_selections a bit more flexible.
2021-06-18 17:33:55 -04:00
Adam Harrison
b5cbe3a2fb
Added in the ability to iterate through cursors backwards.
2021-06-18 17:33:55 -04:00
Adam Harrison
dfc57bd884
Used routine to add cursors in order correctly.
2021-06-18 17:33:55 -04:00
Adam Harrison
6915d86d59
Introduced the constraint that all cursors must be in order.
2021-06-18 17:33:55 -04:00
Adam Harrison
b065b52067
Ensured that textual inputs sort cursors so that we don't get *real* weird behaviour.
2021-06-18 17:33:55 -04:00
Adam Harrison
0f229b039d
Fixed merging. Fixed selection undo stack.
2021-06-18 17:33:55 -04:00
Adam Harrison
c494d52caf
Used an inappropriate function in a selection loop.
2021-06-18 17:33:55 -04:00
Adam Harrison
d3b3f26316
Added in cursor merging behaviour.
2021-06-18 17:33:55 -04:00
Adam Harrison
c6f7e473f0
That's what I get for not testing after a 'simple' refactor.
2021-06-18 17:33:55 -04:00
Adam Harrison
858f7a2a50
Added in missing boolean.
2021-06-18 17:33:55 -04:00
Adam Harrison
75658b4f3f
Removed unecessary elses.
2021-06-18 17:33:55 -04:00
Adam Harrison
2475b1624f
Fixed error.
2021-06-18 17:33:55 -04:00
Adam Harrison
b42708fe56
Cleaned up functions.
2021-06-18 17:33:55 -04:00
Adam Harrison
316671e5b7
Fixed tabbing spaces.
2021-06-18 17:33:55 -04:00
Adam Harrison
6c0d124410
Allows for rectangular selections with ctrl; also fixed tabbing.
2021-06-18 17:33:55 -04:00
Adam Harrison
08ab6cba05
Added in multiple clipboard line buffers.
2021-06-18 17:33:55 -04:00
Adam Harrison
a7f39017ff
Fixed undo stack.
2021-06-18 17:33:55 -04:00
Adam Harrison
93670a314d
Changed iterator behaviour to avoid allocating a closure each time.
2021-06-18 17:33:55 -04:00
Adam Harrison
37a3884ee2
Initial commit of multicursor. Next step is to investigate how multicursor works on various other IDEs and ape those.
2021-06-18 17:33:55 -04:00
cukmekerb
e493fa1b0a
clicking the empty space where the x was no longer closes the tab
2021-06-17 21:15:30 -07:00
cukmekerb
e1d85af69b
added config.tab_close_button option to hide X on tabs
2021-06-17 18:35:36 -07:00
Adam
5151e36981
Added in the ability to customize the config directory used with the environment variable XDG_CONFIG_HOME. ( #271 )
2021-06-17 23:15:08 +02:00
Adam
bdc37f1f6c
Added in remove file function. ( #272 )
...
* Added in remove file function.
* Changed namespace of rename and remove (now delete).
2021-06-17 22:26:27 +02:00
Francesco Abbate
1ad4289e76
Do not try to update topdir folder in treeview
...
If the directory expanded is a project's top directory
do not attempt to update its content.
Fix again issue #275
2021-06-17 19:07:32 +02:00
Francesco Abbate
b39db791f9
Do not duplicate RootView method in contextmenu
...
The method RootView:on_mouse_pressed was copied in the contextmenu plugin with
a small modification to intercept the mouse clicks of the active view.
This approach is problematic because a relatively large portion of code is
duplicated.
We introduced a function named RootView.on_view_mouse_pressed to let plugins
like contextmenu intercepts mouse clicks in the active area without duplicating
the function RootView:on_mouse_pressed.
2021-06-17 10:22:31 +02:00
jgmdev
e070dbebc1
Fix undeclared NagView findindex() by moving it to common.
2021-06-13 21:28:29 -04:00
Francesco
98164f6d4f
Integrate mkdirp function in common module ( #265 )
...
Move the function mkdirp into common to be generally available.
Use the new common.mkdirp from create_user_directory() from
core/init.lua replacing previous parent directory creation code
within the function.
The previous mkdirp function did not work on Windows where
absolute paths starts with a drive letter. The code from
create_user_directory() did not have this problem but was wrong
in the way it was creating the nested directories.
The new implementation in common.mkdirp fix both problems.
2021-06-13 19:50:42 +02:00
Jefferson González
9823da8531
Merge pull request #267 from jgmdev/nagview-fix
...
Added missing NagView dialog commands to startup.
2021-06-12 23:14:17 -04:00
Adam Harrison
66b76f15c2
Added a check for duplicate tabs, also ensured that the appropriate view is set as active.
2021-06-12 14:24:31 -04:00
Adam Harrison
a18eeafbc8
Added in some more checks.
2021-06-12 13:43:58 -04:00
Adam Harrison
f729d7d008
Allows you to drag nodes around splits.
2021-06-12 13:43:58 -04:00
Francesco Abbate
752ecd5ece
Group mouse move events from C API function
...
Groups together consecutive mouse move events like done in core.step()
lua function but on the C side.
It does not introduce any meaningful speedup but it theory is more efficient and
simplifies the Lua code.
The simplification of the Lua code alone is enough to justify this change?
2021-06-11 15:00:18 +02:00
jgmdev
9153f5695d
Added missing NagView dialog commands to startup.
2021-06-09 20:13:23 -04:00
Björn Buckwalter
702ab2625c
MacOS modifier key adjustment (replace `alt`) per #262 ( #263 )
...
* Use `cmd` as modifier key for tab seletion (macos)
Part of #262 .
* Use `cmd+shift` instead of `alt` on macos
Fixes #262 .
2021-06-09 20:23:40 +02:00
Björn Buckwalter
ef48d5d48c
Use `ctrl` for next tab on macos
...
Fixes #261 .
2021-06-08 16:13:00 +02:00
Takase
0fd1fa8872
Commands refactor ( #257 )
...
* remove unecessary check
* move command registration to core/commands
2021-06-07 23:00:29 +02:00
Takase
130b29438a
Allow creation of nested directories ( #254 )
...
* allow nested directories to be created
* fix / be turned into //
* refactor error handling
* refactor path splitting and mkdir calls
If a path exists it will now return immediately.
* fix typo
* remove possible trailing empty string
* fix bugs with path check
2021-06-07 22:44:35 +02:00
Adam Harrison
2170ab9649
Apologies for the subpar previous commit. This fixes the bugs in that one.
2021-06-05 00:50:25 -04:00
Adam Harrison
090d67f252
Exposed indent function, and made it more flexible.
2021-06-05 00:44:35 -04:00
Adam Harrison
3b816a2b4a
Changed regex error handling, so that errors can be handled gracefully in lua, and made it so gsub returns the exact matches and replacements.
2021-06-04 23:58:17 -04:00