Commit Graph
2250 Commits
Author SHA1 Message Date
vqnandtakase1121 a389adbaf5 autoreload docs only if their filename matches an actual file (#1698) 2024-01-21 14:48:56 +08:00
vqnandtakase1121 df12a5dde6 reorder nagview options on doc:save error to be more consistent with other nagview confirmations (#1696) 2024-01-21 14:48:44 +08:00
Fijiandtakase1121 e353c5322a Improve number highlighting for python syntax highlighting (#1704)
* Improve number highlighting for python syntax highlighting

Adds support for octal and binary representation, as well uppercase characters (X, B and O)

* add underscore and negative hex/oct/bin value support

* Removed | from pattern
2024-01-21 14:48:21 +08:00
4ae92ae128 Memory fixes (#1705)
* fix: free-before-init in renwin_init_surface when using sdl renderer

`ren->rensurface.surface` presupposes zero-initialized rensurface.
Rensurface was not actually zero-initialized.
It is now.

* fix: heap buffer overflow in process_env_free

`process_env_free` presupposed that it was null-terminated.
Pass length to free instead.

* use calloc instead of memset for zero-init

Co-authored-by: Guldoman <giulio.lettieri@gmail.com>

---------

Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
2024-01-21 14:42:46 +08:00
vqnandtakase1121 2ce8c58bea Fix doc:create-cursor-previous/next-line with tabs (#1697)
* use DocView.translate to split cursor on previous/next line

* use dv.doc instead of doc()
2024-01-21 14:40:41 +08:00
takase1121 b68efcd9e4 chore(changelog): update changelog for v2.1.2 2023-12-29 09:33:12 +08:00
takase1121 97a49661e0 chore: update versions 2023-12-29 08:47:22 +08:00
vqnandtakase1121 9c21903af7 add autocompletion to multicursor (#1394)
* use Doc:remove
2023-12-29 08:47:21 +08:00
Adam Harrisonandtakase1121 1d4e01a192 Fixed a minor bug, should close issue #1680. 2023-12-29 08:47:21 +08:00
ThaCuberandtakase1121 f1bdd840a1 fix nagbar failed save message (#1678)
* fix nagbar failed save message

- visually separated statements with a `.`
- first statement slightly rewritten
- use `'` rather than `"`

* yeahhhh no back to `"`
2023-12-29 08:47:05 +08:00
Guldomanandtakase1121 34cebe8fe4 Make license time-independent (#1655) 2023-12-01 15:41:25 +08:00
Takase 311651333a feat(process): allow commands and envs on proces_start (#1477)
* feat(process): allow commands and envs on proces_start

* refactor(process): copy process arguments once whenever possible

Refactors the code to use an arglist type which is just lpCmdline on Windows
and a list in Linux.
The function automatically escapes the command when it is needed, avoiding
a second copy.

This also allows UTF-8 commands btw.

* fix(process): fix invalid dereference

* refactor(process): mark xstrdup as potentially unused

* feat(process): add parent process environment when launching process

* fix(process): fix operator precedence with array operators

* fix(process): fix segfault when freeing random memory

* fix(process): fix wrong check for setenv()

* fix(process): fix accidentally initializing an array by assignment

* fix(process): clear return value if success
2023-12-01 10:12:16 +08:00
Guldomanandtakase1121 8e2928aeb8 Improve font/color change detection in language_md (#1614)
* Delay setting font for custom `language_md` token types

* Improve font/color change detection in `language_md`
2023-11-30 11:45:58 +08:00
Guldomanandtakase1121 bc935906d1 Use x offset to define render command rect in rencache_draw_text (#1618)
* Return x offset for the first character in `ren_font_group_get_width`

* Use x offset to define render command rect in `rencache_draw_text`
2023-11-30 11:45:25 +08:00
Guldomanandtakase1121 9be5a46a22 Fix patterns starting with ^ in tokenizer (#1645)
Previously the "dirty" version of the pattern was used, which could 
result in trying to match with multiple `^`, which failed valid matches.
2023-11-30 11:39:55 +08:00
Guldomanandtakase1121 885e6b3c50 Fix language_js regex constant detection (#1581)
* Fix `language_js` regex constant detection

* Simplify regex constant detection in `language_js`

* Add more possessive quantifiers in `language_js` regex constant detection

This avoids more catastrophic backtracking cases.

* Allow `.` after regex constant in `language_js`
2023-11-30 11:39:48 +08:00
Guldomanandtakase1121 b1a647814f Fix editing after undo not clearing the change id (#1574) 2023-11-30 11:39:41 +08:00
Guldomanandtakase1121 8eacca7ae1 Fix selecting newlines with find-replace:select-add-{next,all} (#1608)
* Avoid adding existing selections in `select_add_next`

* Use the first available selection as delimiter in `select_add_next`

* Fix returning searches with newlines in `search.find`

* Fix repeat search when the last result spanned multiple lines
2023-11-30 11:39:27 +08:00
Guldomanandtakase1121 19cef97bcd Fix core.redraw when window is not focused (#1601)
* Execute at least one step when window has no focus

This way if `core.redraw` is set, it's respected.

* Fully run threads at least once when window has no focus

This allows threads that set `core.redraw` (like `projectsearch`) to
continue running even after the window loses focus.

"Fully" here means that `run_threads` has gone through *all* the "timed
out" coroutines at least once.
2023-11-30 11:39:16 +08:00
Guldomanandtakase1121 c31a8ae0f6 Scale mouse coordinates by window scale (#1630)
* Update window scale on resize

* Scale mouse coordinates by window scale

* Avoid scaling mouse coordinates while using `LITE_USE_SDL_RENDERER`
2023-11-30 11:27:08 +08:00
takase1121 9272f5ef2d chore(deps): update SDL2 2023-11-30 11:26:00 +08:00
takase1121 88dcb25396 chore(deps): update pcre2 2023-11-30 11:25:54 +08:00
takase1121 513432a784 chore(deps): update freetype 2023-11-30 11:25:46 +08:00
takase1121 43643a16c0 fix(ci,build.sh): un-hardcode lua subproject detection 2023-11-30 11:24:42 +08:00
Guldomanandtakase1121 5c5c77219b Fix dirmonitor sorting issues (#1599)
* Use `PATHSEP` in path-related functions

* Don't stop on digits when getting the common part in `system.path_compare`

* Avoid sorting multiple times in `dirwatch.get_directory_files`

This also fixes the timeout detection in `recurse_pred`.
2023-11-30 09:20:34 +08:00
Guldomanandtakase1121 6cd1f96234 Fix running core.step when receiving an event while not waiting
When `time_to_wake` was <= 0, so when a coroutine needed to be executed 
as soon as possible, we didn't check for events, so we only performed a 
`core.step` with the blink timer.
This resulted in jerky reactions to input.
2023-11-29 09:41:55 +08:00
Adamandtakase1121 3bf3266ca5 Made coroutines make more sense, and fixed a bug. (#1381)
* Made coroutines make more sense, and fixed a bug.

* Fixed typo.

* Additional checking for off-cycles.

* Fixed issue with calling step too much.

* If we have no redraw, set next step time for next frame.

* Added in `now` variables to reduce calls.
2023-11-29 09:41:34 +08:00
Guldomanandtakase1121 4adfd44d9f Limit system.{sleep,wait_event} to timeouts >= 0 (#1666)
Otherwise we might wait forever by mistake.
2023-11-29 09:13:12 +08:00
Daniel Margaridoandtakase1121 35ef0a9484 Fixed issue with set_target_size passing the wrong value to plugins (#1657)
* Fixed issue with set_target_size passing the wrong value to plugins that are split on the right and activated from the settings UI.

* Added position awareness for the all resize_child_node calls.
2023-11-29 07:45:27 +08:00
Guldomanandtakase1121 01cab0611c Fix deleting indentation with multiple cursors (#1670) 2023-11-29 07:41:27 +08:00
Guldomanandtakase1121 fb7ed49a44 Avoid considering single spaces in detectindent (#1595) 2023-11-29 07:41:13 +08:00
Takase 34d163aa25 refactor(build): use dmgbuild to create dmgs (#1664)
* refactor(appdmg): make dmgs with dmgbuild

* fix(appdmg.sh): typo

* refactor(appdmg.sh): don't generate config on the fly

* fix(dmgbuild): icon file

* fix(gitignore): dmgbuild settings

* chore(resources): update readme with new files

* chore(resources/macos): add missing newline
2023-11-10 09:51:39 +08:00
TakaseandGuldoman 63d99d4431 feat(package): ad-hoc sign macOS bundles (#1656)
* feat(package): ad-hoc sign macOS bundles

* fix(package.sh): syntax error

* docs(readme): add instructions for self-signed builds

* docs(readme): grammar

Co-authored-by: Guldoman <giulio.lettieri@gmail.com>

---------

Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
2023-11-10 09:47:15 +08:00
TakaseandGuldoman 5d53b13cf4 fix(dirmonitor): deadlock if error handler jumps somewhere else (#1647)
* fix: deadlock if error handler jumps somewhere else

* docs(dirmonitor): fix wrong data type in error callback

* docs(dirmonitor): clarify coroutines and deadlocks

* docs(dirmonitor): wording

Co-authored-by: Guldoman <giulio.lettieri@gmail.com>

---------

Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
2023-10-24 20:16:52 +08:00
Guldomanandtakase1121 4005a46144 Save in the workspace unsaved named files and crlf status (#1597)
* Save in the `workspace` unsaved named files

* Save in the `workspace` the `crlf` status and restore it for "new" files
2023-10-18 13:14:28 +08:00
Guldomanandtakase1121 8c451928bf Ignore keypresses during IME composition (#1573)
Some IMEs continue sending keypresses even during composition, so we 
just ignore them.
2023-10-18 13:14:23 +08:00
Guldomanandtakase1121 a066190ee2 Improve common.serialize (#1640)
* Make `common.serialize` more locale-independent

* Handle inf/nan numbers in `common.serialize`
2023-10-18 13:14:14 +08:00
Guldomanandtakase1121 1ad3b70e9e Mark unsaved named files as dirty (#1598) 2023-10-18 13:14:02 +08:00
Takase 82589526c0 fix: dim rendering when antialiasing is turned off (#1641) 2023-10-16 12:05:01 +08:00
Guldomanandtakase1121 316fbbe743 Remove DPI detection for default SCALE
This often leads to `SCALE` values that are way off, and makes Lite XL 
unusable, so we now just default it to 1.
2023-10-16 12:04:37 +08:00
Guldomanandkelvinvoon03 784b911d41 Make linewrapping consider the expanded Scrollbar size
This avoids reflowing the text when hovering the scrollbar.
2023-09-13 08:05:35 +08:00
Robert Hildebrandtandkelvinvoon03 a9934c08d9 Fixed C++14 digit separators (#1593) 2023-09-13 08:04:05 +08:00
Guldomanandtakase1121 397b61e7c6 Fix returned percent when clicking the Scrollbar track 2023-08-26 08:56:35 +08:00
Takase 890e4882f3 fix(core): defer core:open-log until everything is loaded (#1585)
* fix(core): defer core:open-log until everything is loaded

* docs(core): document why core:open-log is opened in a thread
2023-08-26 08:53:05 +08:00
Takase 09dd111c61 docs(core.contextmenu): add documentation for contextmenu (#1567) 2023-08-26 08:52:29 +08:00
Janandtakase1121 d937693ddb Use Lua wrap by default (#1481)
Debian and all its derivatives ship a broken Lua 5.4 that is missing some symbols.
To work around broken distros and make development and distribution easier use the wrap by default and add an option to use the system version.
2023-08-26 08:52:25 +08:00
Guldomanandtakase1121 3d93e16597 Normalize strokes in fixed order (#1572)
* Use normalized strokes when removing duplicates only when appropriate

* Use normalized stroke in `keymap.unbind`

* Normalize strokes by sorting the modifiers before the keys

This also sorts the modifiers in a fixed manner, decided by 
`modkeys.keys`.
We need to do this because we display the strokes in a few places like 
the command palette.
2023-08-26 08:52:10 +08:00
Takase eb27e543b4 ci(release): use lite-xl org (#1571) 2023-08-19 13:31:40 +08:00
Guldomanandtakase1121 86cfbe5f3b Make DocView aware of scrollbars sizes (#1177)
* Make `DocView:scroll_to_make_visible` aware of vertical scrollbar width

* Make `DocView` aware of horizontal scrollbar size
2023-08-19 13:31:37 +08:00
Adam Harrisonandtakase1121 c279ef0034 Updated README.md as per PR comittee meeting #8. 2023-08-19 13:31:31 +08:00