lite-xl/README_Amiga.md

9.5 KiB

Lite XL v2 for AmigaOS 4.1 FE & MorphOS 3

Lite XL is a lightweight text editor written in Lua and SDL2.

The port is not perfect and it might have issues here and there. It might crash from time to time, if there is a path problem, but overall it works pretty well. This is my daily editor for any kind of development. If it crashes on your system, try to delete to .config folder.

Installation

You can extract the Lite XL archive wherever you want and run the lite editor.

Configuration folder

This editor creates a .config folder where the configuration is saved, as well as plugins, themes etc.. By default this version uses the installation folder, but if you want to override it, you can create an ENV variable named HOME and set there your prefferable path.

You can check if there is one already set by executing the following command in a shell

GetEnv HOME

If there is one set, then you will see the path at the output.

Otherwise, you can set your home path be executing the following command. Change the path to the one of your preference.

SetEnv SAVE HOME "Sys:home/"

Addons

Colors

Colors are lua files that set the color scheme of the editor. There are light and dark themes for you to choose.

To install and use them you have to copy the ones you would like from addons/colors/light or addons/colors/dark into the folder .config/lite-xl/colors/. Don't add light or dark folders. Just copy the .lua files in there.

Then you have to start Lite XL and open your configuration by clicking at the cog icon at the toolbar (bottom left sixth icon). Go at the line that looks like below

-- core.reload_module("colors.summer")

and change the summer with the name of your color theme. Also, remove the two dashes -- at the start of the line and save the file. If you did everything right, the color schema should change instantly.

The themes can also be found at https://github.com/lite-xl/lite-xl-colors

Plugins

LiteXL is able to use plugins to extend its features. Those can be found at https://github.com/lite-xl/lite-xl-plugins and other websites. Not all of them will work fine on AmigaOS 4 or MorphOS, because of missing dependencies or filesystem issues.

To make it easier for you, I gathered some of the plugins that are working well, and I included them under addons/plugins. For you to install the ones you would like to use, you have to copy the .lua files into the folder .config/lite-xl/plugins/ and restart the editor.

Please, choose wisely, because adding all the plugins might make the editor slower on your system. I would recommend you add only those that you really need.

The included plugins are the following:

autoinsert Automatically inserts closing brackets and quotes. Also allows selected text to be wrapped with brackets or quotes.

autosaveonfocuslost Automatically saves files that were changed when the main window loses focus by switching to another application

autowrap Automatically hardwraps lines when typing

bigclock Shows the current time and date in a view with large text

bracketmatch Underlines matching pair for bracket under the caret

colorpreview Underlays color values (eg. #ff00ff or rgb(255, 0, 255)) with their resultant color.

custom_caret Customize the caret in the editor setting it to underline, block or line at the init.lua file in your config folder. For example add: config.plugins.custom_caret.shape = "block"

EditorConfig EditorConfig (https://editorconfig.org/) implementation for Lite XL

ephemeral_tabs Preview tabs. Opening a doc will replace the contents of the preview tab. Marks tabs as non-preview on any change or tab double clicking.

ghmarkdown Opens a preview of the current markdown file in a browser window. On AmigaOS 4 it uses urlopen and on MorphOS it uses openurl to load the generated html in the browser.

indentguide Adds indent guides

language_guide Syntax for the AmigaGuide scripting language

language_hws Syntax for the Hollywood language

language_make Syntax for the Make build system language

language_sh Syntax for shell scripting language

lfautoinsert Automatically inserts indentation and closing bracket/text after newline

markers Add markers to docs and jump between them quickly

minimap Shows a minimap on the right-hand side of the docview. Please note that this plugin will make the editor slower on file loading and scrolling.

navigate Allows moving back and forward between document positions, reducing the amount of scrolling

nonicons File icons set for TreeView. Download TTF font to your config/fonts folder from https://github.com/yamatsum/nonicons/tree/master/dist

opacity Change the opaqueness/transparency of lite-xl using LAmiga+mousewheel or a command.

openfilelocation Opens the parent directory of the current file in the file manager

rainbowparen Show nesting of parentheses with rainbow colours

restoretabs Keep a list of recently closed tabs, and restore the tab in order on cntrl+shift+t.

select_colorscheme Select a color theme, like VScode, Sublime Text. (plugin saves changes)

selectionhighlight Highlights regions of code that match the current selection

smallclock It adds a small clock at the bottom right corner.

Tips and tricks

Transitions

If you want to disable the transitions and make the editor faster, open your configuration file by clicking at the cog icon at the toolbar (bottom left, 6th icon) and add the following line at the end of the file, and then save it. You might need to restart your editor.

config.transitions = false

Hide files from the file list

If you would like to hide files or whole folder from the left side bar list, open your configuration by clicking at the cog icon at the toolbar (bottom left sixth icon) and add the followline at the end of the file and save it. This hides all the files that start with a dot, and all the .info files. You might need to restart your editor.

config.ignore_files = {"^%.", "%.info$"}

You can add as many rules as you want in there, to hide files or folders, as you like.

I would like to thank

  • IconDesigner for the proper glow icons that are included in the release
  • Capehill for his tireless work on SDL port for AmigaOS 4.1 FE
  • Michael Trebilcock for his port on liblua
  • Bruno "BeWorld" Peloille for his great work on porting SDL to MorphOS and for his valuable help
  • Lite XL original team for being helpful and providing info

Without all the above Lite XL would not be possible

Support

If you enjoy what I am doing and would like to keep me up during the night, please consider to buy me a coffee at: https://ko-fi.com/walkero

Known issues

You can find the known issues at https://git.walkero.gr/walkero/lite-xl/issues

Changelog

[2.1.1r2] - 2022-05-14

Changed

  • Compiled with latest SDL v2.26.5-rc2

[2.1.1r1] - 2022-01-29

Changed

  • Binary name changed to lite-xl
  • Updated the colour themes and the plugins that are included in the release
  • Compiled with latest SDL 2.26
  • Compiled with gcc 11
  • Synced the code with the upstream master branch at 8th January 2023

Fixed

  • Set the default locale on AmigaOS 4, so as to fix some issues with decimal numbers

[2.1.0r1] - 2022-10-10

Added

  • This version of LiteXL recognises changes that are done outside the editor in files and folders, and updates the items when it gets focus again.

Changed

  • Synced the code with the latest upstream master branch, which means that this version is based on the latest available source
  • Now the plugins need to be version 3. The older versions will not work. All the included plugins are updated to the latest available version.
  • Compiled with SDL 2.24
  • Compiled with Lua 5.4

Fixed

  • Fixed regex issues with some plugins
  • Fixed "Open in System" on AmigaOS 4 and MorphOS. When you right click at a file or a folder at the treeview at the left side, then depending the type of the item opens on Workbench. A folder opens in a list view and a file opens with its default tool
  • Fixed markdown preview on MorphOS. Now, it calls openurl with the html file (#20)
  • Fixed locale issues on MorphOS (again), since the previous fix didn't actually fixed the problem

[2.0.3r3] - 2022-09-26

Added

  • Added plugin for AmigaGuide files
  • Added plugin for Hollywood files

Fixed

  • Fixed non existing path crashes on OS4 and MorphOS
  • Fixed editor refresh whenever init.lua is changed, no matter the working folder
  • Fixed an issue when the user added a directory in the project that already existed
  • Fixed locale issue on start for MorphOS. Now it should start just fine no matter what locale the user has on his system.
  • Fixed "Find" on MorphOS that was not working (shortcut CTRL+F)
  • If the user selects to change the project folder and inserts Sys: or any partition name, the included folders will be listed as suggestions

Changed

  • Removed linking with unix on OS4 build
  • Makefiles updated

[2.0.3r2] - 2022-06-18

Added

  • First public MorphOS version released

Changed

  • Merged source code for both AmigaOS 4 and MorphOS
  • Moved the declaration of the $VER and $STACK for the AmigaOS 4 version, so to happen only once (reported by capehill)

Fixed

  • Fixed the usage of NumPad (reported by root)

[2.0.3r1] - 2022-03-30

Changed

  • Applied all the necessary changes to make it run under AmigaOS 4.1 FE
  • Fixes and changes

Disclaimer

YOU MAY USE IT AT YOUR OWN RISK! I will not be held responsible for any data loss or problems you might get by using this software.