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
takase1121
cd5c64fe8c
prevent mouse movement from propagating when context menu is open
2021-06-05 08:51:17 +08:00
takase1121
794cf3813a
export context menu
2021-06-05 08:47:32 +08:00
Francesco Abbate
c5acd030a1
Do not save log views in session file
2021-06-04 14:42:08 +02:00
Francesco Abbate
29e25a7605
Do not show empty documents when restoring session
...
When a filename cannot be read when restoring a session do
not create a document. Previous behavior was to create an empty
"unsaved" document.
2021-06-04 14:05:54 +02:00
Francesco
b046afccf9
Scale fonts context menu ( #246 )
...
* Retrieve scale plugin from lite-plugins
* New implementation of scale plugin and font C API
Introduce two new C API functions, renderer.font.get_size and set_size
respectively to get the font size and to set the size to a new value.
Using these functions we don't need to know the name of the font but
we can just change their size.
Adapt the scale plugin to use the new C API function with minor adaptations
in the logic.
Use smaller step to scale fonts.
Rename font_desc_free function, previous name was misleading as only the cached
resources are freed.
* Add contextmenu plugin from takase
From https://github.com/takase1121/lite-contextmenu
Adapted to show font scaling commands and find/replace commands.
i# testing.lua
* Fix the cursor flickering with contextmenu
To avoid flickering of the cursor when using the context menu
we add a new function `core.request_cursor` that just take note
of the cursor requested.
The cursor will be actually changed only in root_view:draw() method
only when all the drawing operations are done. This means the cursor
will be changed only once per frame and only the most recent cursor
change request will take effect.
* Remove unneeded scale plugin return functions
2021-06-03 22:49:37 +02:00
Adam
248d70a8ca
Add PCRE to support regular expressions
...
Use regular expressions instead of Lua patterns for find and replace editor commands.
Syntax files can now use regex or Lua patterns as before keeping backward compatibility for plugins.
2021-06-02 21:27:00 +02:00
lqdev
ea5e9b0ce5
fixed broken Doc:save monkeypatch
2021-06-02 19:11:59 +02:00
Francesco Abbate
4e93eabbac
Deprecate core.add_save_hook to override Doc:save
...
In order to stay simple and closer to the lite's design principles we
deprecate the core.add_save_hook function and the related mechanism.
Instead we now directly override the Doc:save() method.
The method is already overrided from core.init to add the automatic
reloading of style when user's module is saved.
The cleanup is related to the discussion in issue #229 .
2021-05-31 09:41:37 +02:00
Francesco Abbate
6d044224c1
Starts maximized only if it was in previous session
2021-05-28 16:35:25 +02:00
Francesco Abbate
f7e3e41ab1
Fix problem with mouse cursor over dividers
2021-05-28 15:35:46 +02:00
redtide
818a7abb0a
Avoid to restore window size when maximized ( #226 )
2021-05-28 08:51:39 +02:00
Adam
4ffb5e3672
Fixed commenting and uncommenting. ( #224 )
2021-05-28 08:17:49 +02:00
Francesco Abbate
34e38dd04a
Fix missing check for filename when saving a file
...
Close #225
2021-05-27 18:53:31 +02:00
Francesco Abbate
ee25e3c5f4
Reduce number of used lines in detectindent
2021-05-27 16:25:49 +02:00
Francesco Abbate
0a55b246b5
Use thread in detectindent plugin
2021-05-27 16:25:49 +02:00
Francesco Abbate
ad7d17caca
Use FiraSans regular for UI
2021-05-27 13:49:33 +02:00
Francesco Abbate
fe828b6ed9
Update changelog and release number
2021-05-27 13:46:51 +02:00
Francesco Abbate
934f12cded
Fix bug with titleview close button not working
...
The bug was actually due to a presence of a ghost tab scrolling button
in all the views.
We need to check if the node has multiple views, if not there are no tabs
and therefore no scrolling button areas so we return nothing from the
method Node:get_scroll_button_index().
Close #216
2021-05-27 09:02:19 +02:00
Janis-Leuenberger
1394c53dbc
Improve user feedback for big directories ( #223 )
2021-05-27 08:28:58 +02:00
Adam Harrison
f1a4bf8218
Changed to multiline select.
2021-05-26 17:52:01 -04:00
liquidev
cb610055d0
support for font changing in the syntax highlighter
2021-05-26 19:16:56 +02:00
Francesco Abbate
10fde6e264
Implement lazy loading of directories
...
When the number of files in a project directory is above the max
limit switch back to a mechanism to read directory content only
when the corresponding folder is expanded in the treeview.
When the command core:find-file is invoked the command core:open-file
is executed instead because the complete list of the project's
files is not available.
When a project search is done we search through all the files within
the project dir without indexing them.
Address issues #217 #203 #183 .
2021-05-26 14:22:10 +02:00
Adam Harrison
8acb3fae8c
Fixed minor error that occurs when saving as after viewing a non-doc tab.
2021-05-24 17:26:16 -04:00
Francesco Abbate
f17f5a4d6d
Fix problem with filenames missing normalization
2021-05-24 15:58:49 +02:00
Francesco Abbate
739763675e
Check the real absolute path of user module
...
Close issue #212
2021-05-22 23:32:45 +02:00
Francesco Abbate
217360ed31
Switch to FiraSans and JetBrainsMono fonts
2021-05-22 15:09:54 +02:00
Adam
a254d393db
Indent Enhancements ( #202 )
...
* Indent enhancements.
* Fixed to match style guidelines.
* Added in useful explanatory comment.
* Changed which selection we're using, as we don't want this kind of wrapping to happen.
* Fixed bug involving lines full of whitespace.
* Removed unecessary commit.
* Actually reverted function, so that we don't screw up commenting.
* Fixed hard tab issue.
2021-05-22 15:01:19 +02:00
Francesco Abbate
abc69a7a19
Prepare release 1.16.10
2021-05-22 14:55:58 +02:00
Adam
949692860e
Tokenizer cleanup ( #198 )
...
* Cleaned up tokenizer to make subsyntax operations more clear.
* Explanatory comments.
* Made it so push_subsyntax could be safely called elsewhere.
* Unified terminology.
* Minor bug fix.
* State is an incredibly vaguely named variable. Changed convention to represent what it actually is.
* Also changed function name.
* Fixed bug.
2021-05-20 21:58:27 +02:00
liquidev
78999cabe2
Improved Lua syntax ( #201 )
...
* improved Lua syntax
* added some missing cases with number literals
2021-05-20 19:02:40 +02:00
Francesco Abbate
a02691f18e
Merge topic branch for tabs scrolling buttons
2021-05-19 22:59:29 +02:00
Adam
b278306fc9
Changed deindent, so that if the deindent runs into an unusual line with a partial indent at the front, it'll still de-indent that. ( #193 )
2021-05-19 22:41:28 +02:00
liquidev
86a7037ed9
support for multiple groups in one pattern ( #196 )
2021-05-19 22:35:28 +02:00
Francesco Abbate
a92d15fe30
Use all the available space for tabs
...
Use a tab's width larger than style.tab_width if there is enough
available space to display the number of tabs specified in
config.max_tabs.
2021-05-19 10:09:40 +02:00
lqdev
ba4fbde33d
fixed mixed indentation
2021-05-18 17:52:18 +02:00
Francesco Abbate
1fb01f36df
Avoid overflowing tab rectangles when animating
2021-05-17 15:11:06 +02:00
Francesco Abbate
13529c28d4
Cosmetic variable name change
2021-05-17 13:37:05 +02:00
Francesco Abbate
ba40bc0dfc
Final adjustments to tab's rect computations
2021-05-17 12:14:01 +02:00
Francesco Abbate
92322986b8
Fix error with previous commit
...
Error was introduced with PR:
https://github.com/franko/lite-xl/pull/190
2021-05-17 10:16:55 +02:00
Adam
6e08c3321c
Fixed a bug where if detectindent is paired with another plugin that hooks the event, it'll overwrite the other plugin's functions. ( #190 )
2021-05-17 10:05:08 +02:00
Adam
e43f1b9df9
Unified open and saving style. ( #189 )
2021-05-17 09:29:51 +02:00
Adam
85d0d684de
Truncated lines longer than 256 characters, and skipped to the relevant portion of the line to reduce slowdown and increase relevancy. ( #185 )
2021-05-17 09:16:20 +02:00
Adam
e54ffc49ea
Added in keyboard shortcuts to the project search module. ( #188 )
2021-05-17 09:14:46 +02:00
Cukmekerb
bd4efa14a2
add `of` keyword to language_js.lua and improve js string syntax highlighting in ( #186 )
2021-05-17 08:56:21 +02:00
Adam
c7b1a6f53e
Allowed for optional boolean to better match filenames. ( #180 )
2021-05-16 19:23:17 +02:00
Francesco Abbate
b37c190db2
Add buttons to scroll tabs when there are too many
...
Use config.max_tabs to configure the maximum number of tabs that can
be shown. Beyond the maximum value scroll buttons will appear to scroll
the tabs.
2021-05-16 15:50:27 +02:00
Francesco Abbate
90e41daa99
Add tab animation and improve hovering update
...
Always update the tab hovering status using the Node:update
method. Previous behavior was to update only on mouse moved
events.
2021-05-15 16:57:20 +02:00
Francesco Abbate
b223dbca6f
Use unicode ellipsis to truncate tab's text
...
For proportional fonts is equivalent to three dots but it makes a
lot of difference for monospaced fonts.
2021-05-15 16:27:29 +02:00
Francesco Abbate
f30dfc20fe
More accurate tab width calculation
...
Ensure the right side of the right-most tab always end up at the
same position.
2021-05-15 16:26:15 +02:00
Francesco Abbate
50a4fc212f
Do not truncate filenames in tab and use dots
2021-05-15 14:49:16 +02:00
Francesco Abbate
e2fcc41b4a
Ensure tabs don't extend beyond window's width
2021-05-15 14:17:36 +02:00
Francesco Abbate
e58d7600ee
Prepare release 1.16.9
2021-05-06 17:08:56 +02:00
tsukanov-as
f637dc4db8
Fix creating a new file ( #179 )
2021-05-06 16:53:46 +02:00
Francesco Abbate
55a6888818
Fix resizing problem for nested nodes
...
Should fix problem reported in:
https://github.com/drmargarido/TodoTreeView/issues/3
2021-05-06 15:35:40 +02:00
Francesco Abbate
5cef643e02
Introduce new plugin versioning tag mod-version
...
New plugins should use the version tag:
-- mod-version: 1
The old version tag "-- lite-xl 1.16" will be considerer equivalent
to mod-version 1.
2021-05-05 22:38:29 +02:00
Adam
135dfa6f03
Add a more explicit message in log and config.max_project_files
...
* Added a line to avoid people going down the rabbit hole that I did.
* Further explanatory text.
2021-05-05 16:00:17 +02:00
Francesco Abbate
9f7f55926b
Use home_encode when setting window title to filename
2021-05-05 10:35:19 +02:00
Francesco Abbate
d63afe02ed
Use string.find only in common.home_encode
...
Should be slightly more efficient.
2021-05-05 10:34:48 +02:00
Francesco Abbate
820d520fc3
Store doc's babs_filename without home encoding
...
This is the way was supposed to be. All the filenames are supposed to be
stored without home encoding, i.e. with explicit paths.
Should fix issue #177 and make PR
https://github.com/franko/lite-xl/pull/174
unneeded.
It may also address issue #174 but would need further verifications.
2021-05-05 08:52:14 +02:00
Adam
4c42dd4adc
Do not close command view on open-file is file is invalid or it is a directory
...
Added in a validation function which fires before submitting a command enter; found it incredibly irritating to try to open something, hit enter, only to be told I'd selected a directory, and then have to go through the whole process again. (#175 )
2021-05-05 08:04:51 +02:00
Adam
67ec7e8065
Added in drag and drop capability. ( #170 )
2021-05-02 09:13:21 +02:00
Francesco Abbate
b42d9de0be
Prepare 1.16.7 release
2021-05-01 23:18:16 +02:00
Adam
e4da235f7e
Made it so that you can continue clicking and still select things. ( #166 )
2021-05-01 22:32:50 +02:00
Adam
dd604c1336
Nil check, to avoid issues for files that don't have filenames yet (new files, etc..) ( #169 )
2021-05-01 22:25:39 +02:00
Adam Harrison
b69242312d
Changed HTML plugin to have case insensitive matching of script and style tags.
2021-05-01 14:52:39 -04:00
Francesco Abbate
1a05e00fdd
Fix detection of user file module
...
Close #54
2021-05-01 19:27:29 +02:00
Francesco Abbate
e6d88909a8
Fix log message about project dir
2021-05-01 19:27:29 +02:00
Francesco Abbate
5766329313
Fix filename problem
...
Close #163
2021-05-01 19:27:29 +02:00
Francesco Abbate
857807b23a
Use ab filename as initial text for open file command
2021-05-01 19:27:29 +02:00
adamharrison
3fe6665b9a
Nested Syntax Highlighting ( #160 )
2021-05-01 11:45:30 +02:00
adamharrison
2e7817f609
Use the active view's filename when opening a file
2021-04-25 20:58:56 +02:00
lqdev
c859498d68
check version in init.lua within directory plugins
2021-04-25 19:14:36 +02:00
lqdev
34e94bb8aa
fixed versioning, again
2021-04-25 12:35:00 +02:00
lqdev
5e8e2f54b5
directories should not be loaded
2021-04-25 11:45:08 +02:00
Francesco Abbate
dd9b4f06ab
Fix keymap binding on macos
2021-04-21 01:42:56 -07:00
Francesco Abbate
9d9c7f291c
Make control to cmd translate on macos automatic
2021-04-21 10:16:51 +02:00
Francesco Abbate
80192573da
Add macos keybindings
...
Thanks to @mathewmariani, modifications taken from his lite-macos repository
2021-04-21 09:48:30 +02:00
Francesco Abbate
f50728bf18
New version tag
2021-04-21 09:05:51 +02:00
Francesco Abbate
2c8e723c6d
Disable borderless window by default
2021-04-21 09:05:15 +02:00
Francesco Abbate
8bcace1d59
Merge remote-tracking branch 'origin/border-less-window'
2021-04-21 08:42:57 +02:00
Francesco Abbate
53f77a29ea
Implement correctly loading from macos bundle resources
2021-04-18 08:51:31 -07:00
Francesco Abbate
032018ec48
More aggressive wait_event timeout when window has focus
...
Adopt a time based logic for cursor blinking and wait for event
when idle with a timeout equal to blink remaining time.
2021-04-17 14:57:28 -07:00
Francesco Abbate
f7375924ab
Make non-borderless mode work
2021-04-12 19:05:30 +02:00
Francesco Abbate
4de97d51fb
Avoid always calling system.get_window_mode
2021-04-12 13:31:32 +02:00
Francesco Abbate
46791aefe5
Implement maximize/restore controls
...
Remove also resize from top and right of the window
2021-04-12 11:54:52 +02:00
Francesco Abbate
a1b3266d42
Improve language CSS color literal pattern
...
Close #123
2021-04-12 11:21:00 +02:00
Francesco Abbate
67dc16ad26
Make windows control buttons active
2021-04-11 23:52:31 +02:00
Francesco Abbate
8ad87d77da
Add correct hit-test information and menu icon
2021-04-11 15:08:25 +02:00
Francesco Abbate
7531a0ddc8
Preliminary implementation of border-less mode
...
Not yet functional but most ingredients are there
2021-04-10 19:35:57 +02:00
Francesco Abbate
f250adcda1
Implement multi-lines for NagView
...
Related to issue #147
2021-04-07 23:46:45 +02:00
Francesco Abbate
119f406d3c
Add NagView message for refused plugins
2021-04-07 09:42:19 +02:00
Francesco Abbate
d7cc1f9f9d
Add plugin verification by version tag
2021-04-06 17:50:46 +02:00
Francesco Abbate
6e3cd41bd1
Logical test simplification in detectindent
2021-04-06 08:27:35 +02:00
Francesco Abbate
3721ace099
Fix logical error in on_text_change
2021-04-06 08:26:53 +02:00
Francesco Abbate
e43c980e4a
Simplifies previous commit
...
Restore the previous signature of raw_insert/remove
2021-04-06 08:18:35 +02:00
Francesco Abbate
d1984942ea
Add hook function for Doc changes
2021-04-05 00:11:56 +02:00
Takase
63b9cf223e
NagView improvements ( #136 )
...
Implement keyboard commands for the NagView.
2021-04-04 16:11:47 +02:00