282 lines
9.4 KiB
Markdown
282 lines
9.4 KiB
Markdown
Lite XL is following closely [rxi/lite](https://github.com/rxi/lite) but with some enhancements.
|
|
|
|
This files document the changes done in Lite XL for each release.
|
|
|
|
### next release
|
|
|
|
[#126](https://github.com/franko/lite-xl/issues/126): Implemented changing fonts per syntax group.
|
|
Example user module snippet that makes all comments italic:
|
|
|
|
```lua
|
|
local style = require "core.style"
|
|
|
|
-- italic.ttf must be provided by the user
|
|
local italic = renderer.font.load("italic.ttf", 14)
|
|
style.syntax_fonts["comment"] = italic
|
|
```
|
|
### 1.16.9
|
|
|
|
Fix a bug related to nested panes resizing.
|
|
|
|
Fix problem preventing creating a new file.
|
|
|
|
### 1.16.8
|
|
|
|
Fix application crash when using the command `core:restart`.
|
|
|
|
Improve application startup to reduce "flashing".
|
|
|
|
Move to new plugins versioning using tag `mod-version:1`.
|
|
The mod-version is a single digit version that tracks the
|
|
plugins compatibility version independently from the lite-xl
|
|
version.
|
|
|
|
For backward compatibility the tag `-- lite-xl 1.16` is considered equivalent to
|
|
`mod-version:1` so users don't need to update their plugins.
|
|
|
|
Both kind of tags can appear in new plugins in the form:
|
|
|
|
```lua
|
|
-- mod-version:1 -- lite-xl 1.16
|
|
```
|
|
|
|
where the old tag needs to appear at the end for compatibility.
|
|
|
|
### 1.16.7
|
|
|
|
Add support for retina displays on Mac OS X.
|
|
|
|
Fix a few problems related to file paths.
|
|
|
|
### 1.16.6
|
|
|
|
Implement a system to check the compatibility of plugins by checking a release tag.
|
|
Plugins that don't have the release tag will not be loaded.
|
|
|
|
Improve and extend the NagView with keyboard commands.
|
|
Special thanks to @takase1121 for the implementation and @liquidev for proposing and
|
|
discussing the enhancements.
|
|
|
|
Add support to build on Mac OS X and create an application bundle.
|
|
Special thanks to @mathewmariani for his lite-macos fork, the Mac OS specific
|
|
resources and his support.
|
|
|
|
Add hook function `DocView.on_text_change` so that plugin can accurately react on document changes.
|
|
Thanks to @vincens2005 for the suggestion and testing the implementation.
|
|
|
|
Enable borderless window mode using the `config.borderless` variable.
|
|
If enable the system window's bar will be replaced by a title bar provided
|
|
by lite-xl itself.
|
|
|
|
Fix a drawing engine bug that caused increased CPU usage for drawing operations.
|
|
|
|
Add `system.set_window_opacity` function.
|
|
|
|
Add codepoint replacement API to support natively the "draw whitespaces" option.
|
|
It supersedes the `drawwhitespace` plugin. If can be configured using the
|
|
`config.draw_whitespace` boolean variable and enabled and disables using the
|
|
commands `draw-whitespace:toggle`, `draw-whitespace:enable`,
|
|
`draw-whitespace:disable`.
|
|
|
|
Improve the NagView to accept keyboard commands and introduce dialog commands.
|
|
|
|
Add hook function `Doc:on_text_change` called on document changes, to be used by plugins.
|
|
|
|
### 1.16.5
|
|
|
|
Hotfix for Github's issue https://github.com/franko/lite-xl/issues/122
|
|
|
|
### 1.16.4
|
|
|
|
Add tooltips to show full file names from the tree-view.
|
|
|
|
Introduce NagView to show warning dialog about unsaved files.
|
|
|
|
Detect High-DPI displays on Linux using Xft.dpi entry from xrdb's output.
|
|
|
|
Made animations independent of framerate, and added a config setting
|
|
`config.animation_rate` for customizing the speed of animations.
|
|
|
|
Made borders between tabs look cleaner.
|
|
|
|
Fix problem with files using hard tabs.
|
|
|
|
### 1.16.2
|
|
|
|
Implement close button for tabs.
|
|
|
|
Make the command view list of suggestion scrollable to see all the items.
|
|
|
|
Improve update/resize behavior of treeview and toolbar.
|
|
|
|
### 1.16.1
|
|
|
|
Improve behavior of commands to move, delete and duplicate multiple lines:
|
|
no longer include the last line if it does not contain any selection.
|
|
|
|
Fix graphical artefacts when rendering some fonts like FiraSans.
|
|
|
|
Introduce the `config.transitions` boolean variable.
|
|
When false the transitions will be disabled and changes will be done immediately.
|
|
Very useful for remote sessions where visual transitions doesn't work well.
|
|
|
|
Fix many small problems related to the new toolbar and the tooptips.
|
|
Fix problem with spacing in treeview when using monospace fonts.
|
|
|
|
### 1.16
|
|
|
|
Implement a toolbar shown in the bottom part of the tree-view.
|
|
The toolbar is especially meant for new users to give an easy, visual, access
|
|
to the more important commands.
|
|
|
|
Make the treeview actually resizable and shows the resize cursor only when panes
|
|
are actually resizable.
|
|
|
|
Add config mechanism to disable a plugin by setting
|
|
`config.<plugin-name> = false`.
|
|
|
|
Improve the "detect indent" plugin to take into account the syntax and exclude comments
|
|
for much accurate results.
|
|
|
|
Add command `root:close-all` to close all the documents currently opened.
|
|
|
|
Show the full path filename of the active document in the window's title.
|
|
|
|
Fix problem with user's module reload not always enabled.
|
|
|
|
### 1.15
|
|
|
|
**Project directories**
|
|
|
|
Extend your project by adding more directories using the command `core:add-directory`.
|
|
To remove them use the corresponding command `core:remove-directory`.
|
|
|
|
**Workspaces**
|
|
|
|
The workspace plugin from rxi/lite-plugins is now part of Lite XL.
|
|
In addition to the functionalities of the original plugin the extended version will
|
|
also remember the window size and position and the additonal project directories.
|
|
To not interfere with the project's files the workspace file is saved in the personal
|
|
Lite's configuration folder.
|
|
On unix-like systems it will be in: `$HOME/.config/lite-xl/ws`.
|
|
|
|
**Scrolling the Tree View**
|
|
|
|
It is now possible to scroll the tree view when there are too many visible items.
|
|
|
|
**Recognize `~` for the home directory**
|
|
|
|
As in the unix shell `~` is now used to identify the home directory.
|
|
|
|
**Files and Directories**
|
|
|
|
Add command to create a new empty directory within the project using the command
|
|
`files:create-directory`.
|
|
In addition a control-click on a project directory will prompt the user to create
|
|
a new directory inside the directory pointed.
|
|
|
|
**New welcome screen**
|
|
|
|
Show 'Lite XL' instead of 'lite' and the version number.
|
|
|
|
**Various fixes and improvements**
|
|
|
|
A few quirks previously with some of the new features have been fixed for a better user experience.
|
|
|
|
### 1.14
|
|
|
|
**Project Management**
|
|
|
|
Add a new command, Core: Change Project Folder, to change project directory by staying on the same window.
|
|
All the current opened documents will be closed.
|
|
The new command is associated with the keyboard combination ctrl+shit+c.
|
|
|
|
A similar command is also added, Core: Open Project Folder, with key binding ctrl+shift+o.
|
|
It will open the chosen folder in a new window.
|
|
|
|
In addition Lite XL will now remember the recently used projects across different sessions.
|
|
When invoked without arguments it will now open the project more recently used.
|
|
If a directory is specified it will behave like before and open the directory indicated as an argument.
|
|
|
|
**Restart command**
|
|
|
|
A Core: Restart command is added to restart the editor without leaving the current window.
|
|
Very convenient when modifying the Lua code for the editor itself.
|
|
|
|
**User's setting auto-reload**
|
|
|
|
When saving the user configuration, the user's module, the changes will be automatically applied to the
|
|
current instance.
|
|
|
|
**Bundle community provided colors schemes**
|
|
|
|
Included now in the release files the colors schemes from github.com/rxi/lite-colors.
|
|
|
|
**Usability improvements**
|
|
|
|
Improve left and right scrolling of text to behave like other editors and improves text selection with mouse.
|
|
|
|
**Fixes**
|
|
|
|
Correct font's rendering for full hinting mode when using subpixel antialiasing.
|
|
|
|
### 1.13
|
|
|
|
**Rendering options for fonts**
|
|
|
|
When loading fonts with the function renderer.font.load some rendering options can
|
|
be optionally specified:
|
|
|
|
- antialiasing: grayscale or subpixel
|
|
- hinting: none, slight or full
|
|
|
|
See data/core/style.lua for the details about its utilisation.
|
|
|
|
The default remains antialiasing subpixel and hinting slight to reproduce the
|
|
behavior of previous versions.
|
|
The option grayscale with full hinting is specially interesting for crisp font rendering
|
|
without color artifacts.
|
|
|
|
**Unix-like install directories**
|
|
|
|
Use unix-like install directories for the executable and for the data directory.
|
|
The executable will be placed under $prefix/bin and the data folder will be
|
|
$prefix/share/lite-xl.
|
|
The folder $prefix is not hard-coded in the binary but is determined at runtime
|
|
as the directory such as the executable is inside $prefix/bin.
|
|
If no such $prefix exist it will fall back to the old behavior and use the "data"
|
|
folder from the executable directory.
|
|
|
|
In addtion to the `EXEDIR` global variable an additional variable is exposed, `DATADIR`,
|
|
to point to the data directory.
|
|
|
|
The old behavior using the "data" directory can be still selected at compile time
|
|
using the "portable" option. The released Windows package will use the "data"
|
|
directory as before.
|
|
|
|
**Configuration stored into the user's home directory**
|
|
|
|
Now the Lite XL user's configuration will be stored in the user's home directory under
|
|
".config/lite-xl".
|
|
The home directory is determined using the "HOME" environment variable except on Windows
|
|
wher "USERPROFILE" is used instead.
|
|
|
|
A new global variable `USERDIR` is exposed to point to the user's directory.
|
|
|
|
### 1.11
|
|
|
|
- include changes from rxi's Lite 1.11
|
|
- fix behavior of tab to indent multiple lines
|
|
- disable auto-complete on very big files to limit memory usage
|
|
- limit project scan to a maximum number of files to limit memory usage
|
|
- list recently visited files when using "Find File" command
|
|
|
|
### 1.08
|
|
|
|
- Subpixel font rendering, removed gamma correction
|
|
- Avoid using CPU when the editor is idle
|
|
|
|
### 1.06
|
|
|
|
- subpixel font rendering with gamma correction
|