From 8cc2ee8937b89f1639304cbd2526e85b17135372 Mon Sep 17 00:00:00 2001 From: Ben Hutchinson <38333275+HutchyBen@users.noreply.github.com> Date: Sat, 24 Aug 2024 11:29:15 +0100 Subject: [PATCH] Add support for xmake build utility (#1899) --- CHANGELOG.md | 1 + doc/modules/ROOT/pages/projects.adoc | 3 +++ projectile.el | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d573bc91..5b6b66696 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * [#1877](https://github.com/bbatsov/projectile/pull/1877): Add custom variable `projectile-cmd-hist-ignoredups`. * Add support for Eask projects. * [#1892](https://github.com/bbatsov/projectile/pull/1892): Add category metadata to `completing-read`. (it's used by packages like `marginalia` and `embark`) +* [#1899](https://github.com/bbatsov/projectile/pull/1899): Add support for xmake build utility. * [#1895](https://github.com/bbatsov/projectile/pull/1895): Modify projectile-mode to add a hook to `buffer-list-update-hook` such that any change in the buffer list will update the selected project. ### Bugs fixed diff --git a/doc/modules/ROOT/pages/projects.adoc b/doc/modules/ROOT/pages/projects.adoc index e974560c4..ff96ca4c7 100644 --- a/doc/modules/ROOT/pages/projects.adoc +++ b/doc/modules/ROOT/pages/projects.adoc @@ -140,6 +140,9 @@ are the configuration files of various build tools. Out of the box the following | debian/control | Debian package dpkg control file + +| xmake.lua +| xmake project |=== There's also Projectile's own `.projectile` which serves both as a project marker diff --git a/projectile.el b/projectile.el index 31a970d3f..83bfe895f 100644 --- a/projectile.el +++ b/projectile.el @@ -3287,6 +3287,12 @@ a manual COMMAND-TYPE command is created with ;; File-based detection project types ;; Universal +(projectile-register-project-type 'xmake '("xmake.lua") + :project-file "xmake.lua" + :compile "xmake build" + :test "xmake test" + :run "xmake run" + :install "xmake install") (projectile-register-project-type 'scons '("SConstruct") :project-file "SConstruct" :compile "scons"