* meson: install plugins with lpm
* meson: add cachedir as output
* build.sh: fix bash syntax error
* build.sh: only copy datadir when PGO is enabled
* build.sh: properly install files with meson install
* build.sh: install macOS bundle files with .app suffix
* ci: copy bundle and portable files correctly
* package-dmg: remove extraneous steps
* ci: fix wrong bundle path
* build.sh: force reconfigure bundle=false if bundle is not explicitly given
* build.sh: move wrong bundle=true assignment to the right place
* ci: remove -a flag from cp command
* ci: use xargs and find -print0 to omit spaces in find output
* ci: specify correct path to Info.plist
* ci: correctly run dmgbuild
* dmgbuild: get application path from command line
* ci: organize dmgbuild arguments
* ci: properly escape arguments
* ci: finally correctly specify yaml string
* ci: don't copy Info.plist again
* build.sh: don't install any plugins if -A is not specified
* build.sh: use the latest release from github
* Streamlined and simplified CI, and made it use lpm to install addons.
Removed universal-dmg packager, as it is not necessary under the new workflow; a regular fat binary being packaged with the normal dmg works.
Incoprorated Guldo's suggestions.
Fixed minor issue.
Fixed slight issues.
Reverted to master.
Fixed nit.
Split up packaging steps.
Sigh,.
?
Fixed up x86 build.
Split Mac into two workers with a matrix.
Sigh.
Removed unecessary lines.
More descriptive name.
Split arch workflow for Mac.
Syntax error.
Spaced things out.
Fixed mac build.
Removed unecessary steps.
Takase's suggestions.
Removed unecessary `..`.
Modified patch to reference the new lua version (hopefully no other modifications needed).
Restored logic to create bundle.
New release workflow.
Changed to welcome plugin.
Changed build.
Added in package-portable to make this easier.
Corrected compiling arch.
Harmonized formats.
Remove package portable.
Fixed universal build.
Fix mispelling.
Sigh.
Sigh.
Sigh.
Sigh.
Sigh.
Sigh.
Sigh.
Sigh.
Sigh.
Sigh.
Sigh.
* Expanded things as per Takase's request.
* Renamed Mac to Darwin.
* Fixed missing variable.
* macos: support drag-and-drop and default file associations
* resources/macos: use LSItemContentTypes to narrow down files
* macos: support opening folders
* rootview: workaround macos weird dnd event timing
* core/rootview: rename variable and refactor if statement
* resources: update copyright in info.plist
* meson.build: dynamically generate current year
"present" may be misleading.
* resources/macos: remove unecessary newlines
* ci: generate better release notes
* scripts: rename generate-release-note.sh
* ci/release: check out all the history
* ci/release: accept version from input
* changelog: update changelog for v2.1.3
* update version in metadata
* changelog: fix formatting issue and release date
* appstream: update release date
* feat(subprojects): update SDL2 wrap
* fix(meson.build): add sdl2main as dependency on Windows
* fix(meson.build): don't load sdl2main on non-Windows platforms
* feat(subprojects): update freetype version
* feat(subprojects): update pcre2 to latest version
* feat(subprojects): update lua to latest version
* feat(lite_xl_plugin_api): add lua_closethread to symbols list
* fix(meson.build): fix meson error with features and booleans
* fix(meson.build): fix wrong variable name
* feat(subprojects): update wraps again
* ci(build): fix lua subproject not found
* ci(build): use awk instead of grep and sed
* chore(resources): rename macos_arm64.txt to macos-arm64.txt
This matches the platform-arch convention like many other parts of the project.
* chore(resources/cross): rename wasm.txt to unknown-wasm32.txt
* refactor(scripts/common.sh): use parameter expansion instead of if else
* feat(scripts/common.sh): support custom arch and platform for get_default_build_dir
* feat(scripts/build.sh): add --cross-platform, --cross-arch and --cross-file
* feat(scripts/package.sh): add --cross-platform and --cross-arch
* feat(build-packages.sh): add support for new options in build.sh and packages.sh
* ci(build): make arm64 binaries in CI
* ci(build): do not install external libraries
* ci(build): fix invalid artifact name
* ci(build): fix INSTALL_NAME
* ci(build): change name for macos artifacts
* ci(build): add script to build universal dmgs from individual dmgs
* ci(build): build universal dmgs
* fix(make-universal-binaries): fix wrong path for hdiutil
* ci(build): rename macos action
* fix(make-universal-binaries.sh): fix wrong pathname for ditto
* ci(release): build macos universal binaries
* ci(release): remove useless variables
* ci(release): fix wrong dependency
* ci(build): fix old ubuntu version
This version will be restored once I complete some container-specific fixes.
* ci(build): make build_macos_universal depend on release
* ci(build): fix wrong dmg dir
* style(ci): capitalize 'universal' for CI name
* fix(make-universal-binaries.sh): fix truncated dmg name when it contains dots
* ci: styling changes
* ci(release): install appdmg only
* refactor(native_api_header): upgrade header files to Lua 5.4.
Almost all of the symbols in this file was from 5.2. This will obviously
not work because some function signatures have changed and some have
completely wrong return values, etc.
This commit updates the header files to Lua 5.4 based on the source code
and changes a few things.
* refactor(plugin_api): move the header into include/
* fix(lite_xl_plugin_api.h): include stdlib to avoid errors with exit
* refactor(lite_xl_plugin_api.h): do not return in SYMBOL_WRAP_CALL
* fix(lite_xl_plugin_api.h): fix wrong way of passing varargs
* fix(lite_xl_plugin_api.h): fix differing lua_rawlen definition
* fix(lite_xl_plugin_api.h): fix fallback function signature
* fix(lite_xl_plugin_api.h): fix conversion from void * to function pointer
* fix(gitignore): add exclusion for manifest files
* feat(windows): add application manifest
* feat(build): use application manifest on windows
* refactor(build): use genrate_file to generate the manifest
* style(manifest): remove trailing whitespace
As discussed with Adam on discord current Lite XL Lua Plugin API was not
working on native plugins with more than 1 source file since imported
symbols were not exposed to other unit files. The issue was tackled on #1332
but the solution introduced another issue when Lite XL was dynamically
linked to the system lua. So we opted to tackle this by using function
wrappers around the function pointers.
* Reintroduce some missing Lua API's from native plugin API
* Add new upvalue functions to header
* Fix things that are actually macros in current lua
* Introduce lua_insert,replace,remove macros from lua5.4
* fix stdalign and min/max for MSVC
* add missing ISREG and ISDIR for MSVC
* use MAX_PATH instead of PATH_MAX
* remove unecessary headers inclusion
* add MSVC CI
* add appropriate macros to platform detection
* re-add msvc CI artifacts
* upload the generated artifacts
* patch lua for MSVC CI builds
* update patch for MSVC compatibility
* Getting ready for 2.1.
* Fixed version.
* Year.
* Manually added line as takase said to.
* Fixed minor issue at takase's behest.
* Dunno where that went.
* Updated to use a function pointer.
* OK, as discussed, adding this manually for now.
* Updated SDL.
Removed dmon, and replaced with logic that works across Linux, Mac, FreeBSD and Windows. Have tested on all platforms, and seems to work.
Co-authored-by: Jan200101 <sentrycraft123@gmail.com>