Commit Graph

2609 Commits

Author SHA1 Message Date
Guldoman bddb5e274d
Avoid drawing hidden text in `DocView:draw_line_text` (#1298)
* Stop drawing text past the `DocView` edge in `DocView:draw_line_text`

* Don't add draw commands if they fall outside the latest clip

The check was previously done with the window rect, so this will reduce 
a bit more the number of commands sent.
2023-08-19 12:28:48 +08:00
Jan d54a5d0672
remove static libgcc from meson (#1290) 2023-08-19 12:28:48 +08:00
Adam Harrison 4c18cf6744
Updated dummy method signature to match prototypes. 2023-08-19 12:28:48 +08:00
Guldoman a9d8f12cb7
Make empty groups in `regex.gmatch` return their offset (#1325)
This makes `regex.gmatch` behave like `string.gmatch`.
2023-08-19 12:28:47 +08:00
xwii 38fa9f976c
Use `table.move` to implement `common.splice` (#1324)
* Use `table.move` to implement `common.splice`

* Disallow negative `remove` in `common.splice`
2023-08-19 12:28:47 +08:00
adityaraj ae218bc005
Create Renderer Only When It Doesn't Exist (#1315) 2023-08-19 12:28:21 +08:00
Jan c8afe3d1bf
replace uses of SDL_Window with RenWindow (#1319)
Since Renwindow contains our instance of SDL_Window we can use this
to simplify future logic to create separate window instances
2023-08-19 12:28:21 +08:00
Takase 2d0ddc302f
Reorganize resources/ + wasm target (#1244)
* add README.md to resources directory
* add cross/ directory for meson cross files
* fix readme list syntax error
* fix reflink
* disable ASYNCIFY_ADVISE by default
* use executable names instead of hardcoding paths
2023-08-19 12:28:21 +08:00
jgmdev 291e7eab6f
packaging: use master branch for plugin addons 2023-08-19 12:28:21 +08:00
sammyette 1984573214
fix: center title and version in emptyview (#1311)
* fix: divide by amount of lines
2023-08-19 12:28:21 +08:00
Jan f5a224999a
defer lua error until after cleanup (#1310) 2023-08-19 12:28:20 +08:00
Jefferson González 4b6134a839
plugin api: added missing luaL_typeerror (#1313) 2023-08-19 12:28:20 +08:00
jgmdev 60f0e3f3da
Packaging Scripts: updated widgets install location 2023-08-19 12:28:20 +08:00
Guldoman f00f41b468
`linewrapping`: Disable horizontal scrolling when enabled (#1309) 2023-08-19 12:28:20 +08:00
Julien Voisin 1ab320bb9b
Handle readlink errors (#1292) 2023-08-19 12:28:19 +08:00
Guldoman 138cea45d5
Make `dirwatch` sorting compatible with what `file_bisect` expects (#1300)
The result of `a.filename < b.filename` is sometimes different from 
`system.path_compare(a.filename, a.type, b.filename, b.type)` which 
causes issues to `file_bisect`, as it expects the sorting to be done 
with `system.path_compare`.
2023-08-19 12:28:19 +08:00
Julien Voisin d86413cc30
Don't set a value twice (#1306) 2023-08-19 12:28:19 +08:00
Julien Voisin d06c9f401c
Fix a memory leak (#1305)
`font` was not freed upon error.
2023-08-19 12:28:19 +08:00
Julien Voisin d755fa6fba
Make api_require's nodes const (#1296) 2023-08-19 12:28:18 +08:00
Takase 69ce580970
do not allow users to create an empty font group (#1303) 2023-08-19 12:28:18 +08:00
Guldoman bd4e64cc7e
Allow command buffer to be expanded (#1297) 2023-08-19 12:28:18 +08:00
Dave 0fa0a59c8b
Minor typos in init text 2023-08-19 12:28:18 +08:00
Takase e0b5f56faa ci(release): use lite-xl org (#1571) 2023-08-07 15:26:50 +01:00
Guldoman 95c1805293 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-07 15:26:49 +01:00
Adam Harrison e85a439656 Updated README.md as per PR comittee meeting #8. 2023-08-07 15:26:49 +01:00
Shreyas A S 09131e7ff6 Updating the *Installing prebuild* section in README.md (#1548)
Sub sections that I've updated:
*To run lite-xl without installing:*
*To install lite-xl copy files over into appropriate directories:*

I think the directory structure of prebuilt packages has changed since when README.md was last updated. I've just updated it. Just that.

Co-authored-by: Shreyas A S <137637016+shreyasastech@users.noreply.github.com>
2023-08-07 15:26:49 +01:00
Guldoman 4454fcc3a2 Use proper timeouts for coroutines that don't need to wait (#1467) 2023-08-07 15:26:49 +01:00
Delta-official a80414fb0b Normalize stroke before adding keybind (#1334)
* Normalize stroke before adding keybind

* improve normalization algorithm and implement normalization in several functions

Signed-off-by: delta <darkussdelta@gmail.com>

---------

Signed-off-by: delta <darkussdelta@gmail.com>
2023-08-07 15:26:49 +01:00
Takase 4e5c0ed1d4 feat(src/renderer): unify fontgroup baseline (#1560)
* feat(src/renderer): unify fontgroup baseline

* fix(src/renderer): use the first font's baseline for the text run
2023-08-07 15:26:49 +01:00
Adam 5b62eba35f Fixed things for when a thread requests a redraw. (#1570)
* Fixed things for when a thread requests a redraw.

* @guldoman's changes.

* Whoops.
2023-08-07 15:26:49 +01:00
Takase d1d4436691 Documentation for core.command (#1564)
* docs(core.command): add documentation

* fix(core.common): fix warnings

* docs(core.command): add "core." prefix to all custom types

* docs(core.command); add name as parameter to command.perform

* docs(core.command): fix typo and wording

* docs(core.command): add disclaimer to command.generate_predicate

* docs(core.command): fix wording for predicate

* docs(core.command): document command name

* docs(core.command): document the always_true predicate
2023-08-07 15:26:49 +01:00
Takase 3ab1d7f198 docs(system): fix missing parameter for system.path_compare (#1566)
* docs(system): fix missing parameter for system.path_compare

* docs(system): fix missing parameter in function prototype
2023-08-07 15:26:49 +01:00
Takase 691df348f0 Documentation for core.common (#1510)
* docs(core.common): add and improve documentation

* refactor(core.common): remove unused variable to get_height()

* docs(core.common): remove messy newlines

* docs(core.common): fix wording

* docs(core.common): use integer instead of number

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

* docs(core.common): update docs

the docs now follow the style in docs/ directory.
some of the changes suggested are also implemented.

* docs(core.common): fix typo

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

* docs(core.common): restyle annoatations

Extra whitespaces are removed and @overload is used whenever possible.

* docs(core.common): fix various documentation errors

* docs(core.common): simplify unicode description

* docs(core.common): fix return value

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

* docs(core.common): clarify common.bench for not being a benchmark

* docs(common): add disclaimer for numbers in common.serialize

---------

Co-authored-by: Guldoman <giulio.lettieri@gmail.com>
2023-08-07 15:26:49 +01:00
Adam fbdd8fa318 Updated extension for mac. (#1563) 2023-08-07 15:26:38 +01:00
Takase 60e71160b6 feat(src/renderer): stream fonts with SDL_RWops on all platforms (#1555)
* feat(src/renderer): stream fonts with SDL_RWops on all platforms

This fixes #1529 where the font itself carries the font file, which gets copied around.
This commit streams the file, so the file is not entirely in memory.

* style(src/renderer): use standard C types

* refactor(src/renderer): implement FT_Stream.close

* fix(src/renderer): fix SDL_RWops double free
2023-08-07 15:26:38 +01:00
Guldoman 523e62bdce Return state when tokenizing plaintext syntaxes 2023-08-07 15:26:38 +01:00
Takase fa694ae6f8 style(src/renderer): use FreeType header names (#1554) 2023-08-07 15:26:38 +01:00
Guldoman 608ad159cd Allow setting custom glyphset size (#1542)
* Properly set glyphset size

* Rename `MAX_GLYPHSET` to `GLYPHSET_SIZE`

* Use more appropriate types for font metrics
2023-08-07 15:26:38 +01:00
Guldoman 819bd81293 Skip checking `files` if no filename was provided to `syntax.get` 2023-08-07 15:26:38 +01:00
Luke aka SwissalpS d9aef2390c Fix #1538 log scrolls automatically (the real PR) (#1546)
* fix #1538 log scrolls automatically

adds:
- when user scrolls, position is kept no matter how many new entries
arrive
- when user scrolls up to last entry, autoscroll is enabled again

does not add buttons to jump up/down
see #1538

* move scroll-test out of on_mouse_wheel

* determine diff_index with loop

* remove check at move_towards yoffset

* use while loop instead of repeat loop

* remove meaningless setter

* remove stray var
2023-08-07 15:26:38 +01:00
Luke aka SwissalpS 526fc816c4 comment typo in object.lua (#1541) 2023-08-07 15:26:38 +01:00
Jan 0532ef1792 Attach command buffer to Renderer Window (#1472) 2023-08-07 15:26:38 +01:00
Guldoman 9328e7ae8f Increase number of loadable glyphsets (#1524)
This should be enough to load every unicode codepoint.
2023-08-07 15:26:38 +01:00
Jan dd479f8cd1 Add top tab margins (#1479)
adapted from #810 to allow styles to decide upon the top margin of the tab list
2023-08-07 15:26:38 +01:00
Guldoman 5758693f4f Show cursor at the start of the next line when selecting full lines (#761)
This was the previous behavior that regressed with the keymap clicks.

This also better shows that the selection extends to the next line.
2023-08-07 15:26:38 +01:00
Guldoman 9b61f1c597 Make `Doc:sanitize_position` return a more appropriate `col` (#1469)
If `line` is out of range, return the `col` "closest" to the original
values.
2023-08-07 15:26:38 +01:00
Guldoman d12a14869c Revert "core syntax: strip the path from filename on syntax.get (#1168)" (#1322)
* Revert "core syntax: strip the path from filename on syntax.get (#1168)"

This reverts commit af6c4bc152.

The previous behavior was correct and allowed access to the full path for path-dependant syntaxes.

* Use `Doc.abs_filename` to obtain syntax when possible

This allows matching full paths in language syntaxes, but we lose the
possibility of matching the project root.
2023-08-07 15:26:38 +01:00
Guldoman a01eba3fad Change AppID (#1187)
This ID reflects our domain (lite-xl.com).
2023-08-07 15:26:38 +01:00
Guldoman 48bcf66cc1 When logging don't use `core.status_view` if not yet initialized 2023-08-07 15:26:38 +01:00
Guldoman ffb8f5da0f Mark `linewrapping` `open_files` table as weak
We weren't correctly garbage-collecting `Doc`s, so we had `Highlighter`s 
stay alive over their due time.
2023-08-07 15:26:38 +01:00