icedman / nvim-textmate

A textmate-based syntax highlighter for neovim - compatible with VScode
GNU General Public License v2.0
80 stars 7 forks source link

Windows support? #5

Open ChrisMGeo opened 2 years ago

ChrisMGeo commented 2 years ago

I use NeoVim on Windows, but I do have WSL Ubuntu. Make doesn't really work well on Windows, so I ended up using WSL, and changed up some files to make it work somehow

diff --git a/libs/Onigmo/configure.ac b/libs/Onigmo/configure.ac
index f6841b1..a550396 100644
--- a/libs/Onigmo/configure.ac
+++ b/libs/Onigmo/configure.ac
@@ -1,7 +1,7 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(onigmo, 6.2.0)

-AC_CONFIG_MACRO_DIR([m4])
+# AC_CONFIG_MACRO_DIR([m4])

 AM_INIT_AUTOMAKE([foreign subdir-objects])
 AC_CONFIG_HEADER(config.h)
diff --git a/libs/tm-parser/textmate/extensions/extension.cpp b/libs/tm-parser/textmate/extensions/extension.cpp
index b7723d1..e766a43 100644
--- a/libs/tm-parser/textmate/extensions/extension.cpp
+++ b/libs/tm-parser/textmate/extensions/extension.cpp
@@ -132,21 +132,27 @@ void load_extensions(const std::string _path,
     for (const auto& extensionPath : enumerate_dir(path)) {
         std::string package = extensionPath + "/package.json";
         std::string packageNLS = extensionPath + "/package.nls.json";
+        Json::Value p = parse::loadJson(package);

         // log("extension: %s\n", package.c_str());

         struct extension_t ex = { .id = "",
             .publisher = "",
+            .name = "",
             .path = extensionPath,
+            .base_path = "",
+            .nlsPath = packageNLS,
+            .package=p,
+            .nls=p,
             .hasThemes = false,
             .hasIcons = false,
             .hasGrammars = false,
             .hasCommands = false,
-            .addToHistory = false };
+            .addToHistory = false,
+            .nlsLoaded = false,
+            .grammars={}
+        };

-        ex.nlsPath = packageNLS;
-        ex.nlsLoaded = false;
-        ex.package = parse::loadJson(package);
         if (!ex.package.isObject()) {
             continue;
         }
diff --git a/libs/tm-parser/textmate/textmate.cpp b/libs/tm-parser/textmate/textmate.cpp
index 6a9ec73..97a8c56 100644
--- a/libs/tm-parser/textmate/textmate.cpp
+++ b/libs/tm-parser/textmate/textmate.cpp
@@ -160,6 +160,7 @@ std::vector<list_item_t> Textmate::theme_extensions()
             list_item_t item = {
                 .name = ext.package["id"].asString(),
                 .description = ext.package["description"].asString(),
+                .icon="",
                 .value = ext.path + "/" + themes[i]["path"].asString()
             };

@@ -212,6 +213,7 @@ std::vector<list_item_t> Textmate::grammar_extensions()
                     list_item_t item = {
                         .name = lang["id"].asString(),
                         .description = ext.package["description"].asString(),
+                        .icon="",
                         .value = ex.asString()
                     };
                     res.push_back(item);

But transferring the ./lua/nvim-textmate to my AppData/Local/nvim/lua doesn't work. As it says Done. Restart NeoVim, and I'm unable to use any of the commands.

ChrisMGeo commented 2 years ago

Ignore the changes on libs/Onigmo/configure.ac