emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/projectile 30a340f22d: Detect Julia projects (#1833)


From: ELPA Syncer
Subject: [nongnu] elpa/projectile 30a340f22d: Detect Julia projects (#1833)
Date: Thu, 16 Mar 2023 12:01:36 -0400 (EDT)

branch: elpa/projectile
commit 30a340f22de227b973e2245002291595857d83ae
Author: Eric Berquist <eric.berquist@gmail.com>
Commit: GitHub <noreply@github.com>

    Detect Julia projects (#1833)
---
 CHANGELOG.md            |  1 +
 projectile.el           |  8 ++++++++
 test/projectile-test.el | 19 ++++++++++++++++++-
 3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index d2b4e052e5..ad63ab927d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
 
 ### New features
 
+* [#1833](https://github.com/bbatsov/projectile/pull/1833): Add Julia project 
discovery.
 * [#1828](https://github.com/bbatsov/projectile/pull/1828): Add Nimble-based 
Nim project discovery.
 * Add elm project type.
 * [#1821](https://github.com/bbatsov/projectile/pull/1821): Add 
`pyproject.toml` discovery for python projects.
diff --git a/projectile.el b/projectile.el
index 09f6d436da..8f340bae2e 100644
--- a/projectile.el
+++ b/projectile.el
@@ -3527,6 +3527,14 @@ a manual COMMAND-TYPE command is created with
                                   :project-file "elm.json"
                                   :compile "elm make")
 
+;; Julia
+(projectile-register-project-type 'julia '("Project.toml")
+                                  :project-file "Project.toml"
+                                  :compile "julia --project=@. -e 'import Pkg; 
Pkg.precompile(); Pkg.build()'"
+                                  :test "julia --project=@. -e 'import Pkg; 
Pkg.test()' --check-bounds=yes"
+                                  :src-dir "src"
+                                  :test-dir "test")
+
 ;; OCaml
 (projectile-register-project-type 'ocaml-dune '("dune-project")
                                   :project-file "dune-project"
diff --git a/test/projectile-test.el b/test/projectile-test.el
index c9d3a12baf..24ad73f3e3 100644
--- a/test/projectile-test.el
+++ b/test/projectile-test.el
@@ -1338,7 +1338,24 @@ Just delegates OPERATION and ARGS for all operations 
except for`shell-command`'.
        "project/project.el")
       (let ((projectile-indexing-method 'native))
         (spy-on 'projectile-project-root :and-return-value (file-truename 
(expand-file-name "project/")))
-        (expect (projectile-detect-project-type) :to-equal 'emacs-eldev))))))
+        (expect (projectile-detect-project-type) :to-equal 'emacs-eldev)))))
+  (it "detects project-type for projects with src dir and no other marker"
+    (projectile-test-with-sandbox
+     (projectile-test-with-files
+      ("project/"
+       "project/src/")
+      (let ((projectile-indexing-method 'native))
+        (spy-on 'projectile-project-root :and-return-value (file-truename 
(expand-file-name "project/")))
+        (expect (projectile-detect-project-type) :to-equal 'dotnet-sln)))))
+  (it "detects project-type for Julia PkgTemplates.jl projects"
+    (projectile-test-with-sandbox
+     (projectile-test-with-files
+      ("project/"
+       "project/src/"
+       "project/Project.toml")
+      (let ((projectile-indexing-method 'native))
+        (spy-on 'projectile-project-root :and-return-value (file-truename 
(expand-file-name "project/")))
+        (expect (projectile-detect-project-type) :to-equal 'julia))))))
 
 (describe "projectile-dirname-matching-count"
   (it "counts matching dirnames ascending file paths"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]