diff --git a/src/main/java/io/github/treesitter/jtreesitter/internal/ChainedLibraryLookup.java b/src/main/java/io/github/treesitter/jtreesitter/internal/ChainedLibraryLookup.java index ac03f19..b89cd87 100644 --- a/src/main/java/io/github/treesitter/jtreesitter/internal/ChainedLibraryLookup.java +++ b/src/main/java/io/github/treesitter/jtreesitter/internal/ChainedLibraryLookup.java @@ -28,8 +28,14 @@ private static SymbolLookup findLibrary(Arena arena) { try { var library = System.mapLibraryName("tree-sitter"); return SymbolLookup.libraryLookup(library, arena); - } catch (IllegalArgumentException e) { - return SymbolLookup.loaderLookup(); + } catch (IllegalArgumentException ex1) { + try { + System.loadLibrary("tree-sitter"); + return SymbolLookup.loaderLookup(); + } catch (UnsatisfiedLinkError ex2) { + ex1.addSuppressed(ex2); + throw ex1; + } } } } diff --git a/src/main/java/io/github/treesitter/jtreesitter/package-info.java b/src/main/java/io/github/treesitter/jtreesitter/package-info.java index c2f1282..a375a9e 100644 --- a/src/main/java/io/github/treesitter/jtreesitter/package-info.java +++ b/src/main/java/io/github/treesitter/jtreesitter/package-info.java @@ -43,10 +43,9 @@ * SymbolLookup.libraryLookup(String, Arena)}. * *