From 05cf40c1c938f685faccb77104f8937aba3cc59c Mon Sep 17 00:00:00 2001 From: George Sokianos Date: Tue, 11 Jan 2022 23:29:57 +0000 Subject: [PATCH] First commit for AmigaOS 4 port --- .gitignore | 4 + Makefile.os4 | 25 +++++ README_OS4.md | 231 +++++++++++++++++++++++++++++++++++++++++++++ README_OS4.md.info | Bin 0 -> 5092 bytes os4build.sh | 34 +++++++ 5 files changed, 294 insertions(+) create mode 100644 Makefile.os4 create mode 100644 README_OS4.md create mode 100644 README_OS4.md.info create mode 100644 os4build.sh diff --git a/.gitignore b/.gitignore index 41183a14..4d202f57 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,7 @@ compile_commands.json error.txt lite-xl* LiteXL* +lite +.config/ +*.lha + diff --git a/Makefile.os4 b/Makefile.os4 new file mode 100644 index 00000000..2a7295d7 --- /dev/null +++ b/Makefile.os4 @@ -0,0 +1,25 @@ +# +# Project: Lite XL +# +# Created on: 26-12-2021 +# +.PHONY: build release + +default: build + +build: + @sh os4build.sh + +release: + mkdir -p release/LiteXL + cp release_files/* release/LiteXL/ -r + mv release/LiteXL/LiteXL.info release/ + cp data release/LiteXL/ -r + cp doc release/LiteXL/ -r + cp lite release/LiteXL/ + strip release/LiteXL/lite + cp README.md release/LiteXL/ + cp README_OS4.md release/LiteXL/ + cp LICENSE release/LiteXL/ + lha -aeqr3 a LiteXL.lha release/ + diff --git a/README_OS4.md b/README_OS4.md new file mode 100644 index 00000000..b974ad05 --- /dev/null +++ b/README_OS4.md @@ -0,0 +1,231 @@ +# Lite XL for AmigaOS 4.1 FE + +Lite XL is a lightweight text editor written in Lua. + +## 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 AmigaOS 4.1 FE version uses the +executable folder, but if you want to ovveride it, create an ENV variable +named `HOME` and set there your 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 +The Lite XL that you are using on AmigaOS 4 is based on version 1.16.12 +and not the latest version that is available by the development team. +This means that the latest plugins are not working at all or need some +modifications to work. + +To make it easier for you, I gathered some of the plugins that are working +well, and I included them at the `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. + +The included plugins are the following: + +**autoinsert** +Automatically inserts closing brackets and quotes. Also allows selected + text to be wrapped with brackets or quotes. + +**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. + +**eofnewline** +Make sure the file ends with one blank line. + +**ephemeraldocviews** +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 + +**hidelinenumbers** +Hides the line numbers on the left of documents + +**indentguide** +Adds indent guides + +**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 + +**memoryusage** +Show memory usage in the status view + +**minimap** +Shows a minimap on the right-hand side of the docview. + +**motiontrail** +Adds a motion-trail to the caret + +**navigate** +Allows moving back and forward between document positions, reducing the +amount of scrolling + +**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. + +**selectionhighlight** +Highlights regions of code that match the current selection + +**todotreeview** +Todo tree viewer for annotations in code like `TODO`, `BUG`, `FIX`, +`IMPROVEMENT` + +## Tips and tricks + +### Transitions + +If you want to disable the transitions and make the scrolling a little faster, +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. + +``` +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. + +``` +config.ignore_files = {"^%.", "%.info$"} +``` + +You can add as many rules as you want in there, to hide fore files or +folders, as you like. + + +## Know issues +You can find the known issues at +https://git.walkero.gr/walkero/lite-xl/issues + + +# Changelog + +## [1.16.12.7] - 2022-01-11 +## Added +- Added config.scroll_past_end that when its true lets the user scroll + further than the end of the file. By default is set to true. +- Added "SDL_RENDERER_ACCELERATED" and "SDL_RENDERER_PRESENTVSYNC" on + SDL_CreateRenderer() since this reduces the CPU usage when the user + scrolls and seems to work pretty good on my systems (X5000, A1222 and + microAmigaOne). This is exeprimental. If this brings problems on your + system, you can disable them using SDL ENV variable, like below: + setenv SDL_RENDER_VSYNC 0 + setenv SDL_RENDER_DRIVER "software" +- Added plugins and color schemas in addons folder and information at + the README_OS4 file (#10) + +## Changed +- Compiled Lite XL with gcc 8.4.0 + +## [1.16.12.6] - 2022-01-04 +### Fixed +- Fixed a problem introduced in previous version when LiteXL was executed + from the root path of a partition or from ram disk (#13) + +## [1.16.12.5] - 2022-01-03 +### Changed +- Changed the Gfx memory leak solution to a fix that was applied by the + editor development team on Lua scripts at a later version. Less custom + code for AmigaOS 4 port. +- Now, when return from fullscreen, there is no extra header visible + at the top of the window content + +### Fixed +- Fixed the assertion error and crash when the window is resized (#2) +- Fixed the resolution on fullscreen toggle to be like the workbench (#4) +- Fixed loading the current folder from terminal using the dot, like + `lite .` or without it (#3) + +## [1.16.12.4] - 2021-12-31 +### Fixed +- Fixed the Gfx memory leak. Now LiteXL frees the reserved memory from the + gfx card. + +## [1.16.12.3] - 2021-12-29 +### Changed +- Compiled with an experimental version of the latest Anti-Grain Geometry + library. This is might have issues and crash LiteXL + +## [1.16.12.2] - 2021-12-26 +### Added +- Added Amiga version. This version of LiteXL is based on v1.16.12 source code + which will not change. I will use the fourth digit to distinguish different + AmigaOS 4 releases, until a new port of the latest available source (v2.x) + is made. + +### Fixed +- The keyboard shortcuts are now working + +### Changed +- Now the `HOME` ENV variable is optional. If this is not set, the LiteXL + folder will be used to create user's `.config` folder + diff --git a/README_OS4.md.info b/README_OS4.md.info new file mode 100644 index 0000000000000000000000000000000000000000..cfd4ecb595010fa5f6f2f337dfcd4b841d0513d4 GIT binary patch literal 5092 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