nvim-oxi
TypeScriptToLua
Our great sponsors
nvim-oxi | TypeScriptToLua | |
---|---|---|
13 | 10 | |
811 | 1,968 | |
- | 3.2% | |
9.3 | 8.3 | |
5 days ago | about 1 month ago | |
Rust | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nvim-oxi
-
[Rust] How to write my config file (init.lua) using nvim-oxi (init.rs)?
How about reading this doc? https://github.com/noib3/nvim-oxi/tree/main/examples
-
nvim-github-codesearch - a plugin for searching Github's code search API from within neovim
thank you for the support! I'm pretty new to rust (and lua for that matter) so it took me a little while to get my head around how to use mlua in the context of a neovim plugin. Two resources that were really helpful for me were these two github projects: https://github.com/noib3/nvim-oxi and https://github.com/willothy/nvim-utils
-
What's the deal with Fennel in Neovim?
nvim-oxi, which uses bindings to the C functions used by the lua API. Note that it's currently broken for nvim nightly, but I'm working on a fix.
- Announcing nvim-utils, a new library for building Neovim plugins in Rust!
-
Introducing neovim config written in C
I intended to do a rust version but I think it's too easy with nvim-oxi, feel free to take the initiative and make a blazing fast nvim config!
- Experience with statically typed lang that compiles to lua for plugins/scripting?
-
A neovim previewer plugin written in rust
For your problem, there is a new nvim plugin framework nvim-oxi which seems promising, you may have a try.
-
Can neovim config be baked in to make neovim blazingly fast?
Lol I started trying to see what that’d look like earlier this year: https://github.com/turboladen/init.rs. It works fine and loads pretty fast. Started by making https://github.com/turboladen/overkill_nvim, but stopped work after https://github.com/noib3/nvim-oxi showed up.
-
Are there any 3rd party libraries which enables us to write nvim plugins?
nvim-oxi lets you do it in Rust…
-
A History of Lua
> now that https://github.com/noib3/nvim-oxi has come out, I am going to use it even less.
Woah, interesting ... provided there's success and uptake with this ... I'm imagining it could lead to a really slick and responsive editing experience that those of using (at least) slightly sluggish plugins might have been missing for a while now.
TypeScriptToLua
-
Lang Lua
I've had some success with https://github.com/TypeScriptToLua/TypeScriptToLua
Luau may be an alternative as well, haven't tried it.
I love Lua, but at larger scales it's unmanageable.
-
Are there any 3rd party libraries which enables us to write nvim plugins?
There are some plugins (typescript.nvim) that use a Typescript to lua transpiler (TypescriptToLua]
-
Since my driver video was well received last time, here is another: Building an SD Card driver from scratch
54:28 reminded me of TypeScriptToLua, so if you wanted to, then you could turn this into Lua :^)
-
Window.js is an open-source JavaScript runtime for desktop graphics programming
One immediate comparison that springs to my mind is the Löve 2D engine [1], which is a tiny game engine written entirely around Lua scripting (so that Lua includes the full game run loop as well).
Lua is a good scripting language, but it doesn't have the ubiquity of JS (and Löve doesn't have the ubiquitous deployment of the modern browser). Also, Lua doesn't have a static type ecosystem (though there are interesting projects like TypescriptToLua [2] exploring that space, but you can from the name they are following/lagging the JS ecosystem here).
There probably is a need to package more browser games as "real" games and a lightweight Canvas-focused approach could find a nice like Löve, especially if it were easier, for instance, to maybe port to consoles for small/indie game teams than one of the web views or Electron. (Though certainly Microsoft already has a version of WebView2 running on the Xbox.)
[1] https://love2d.org/
[2] https://github.com/TypeScriptToLua/TypeScriptToLua
-
Your favorite mod just added something you've wanted for years. What is it?
Not part of the mods, but using https://github.com/TypeScriptToLua/TypeScriptToLua is quite easy and works surprisingly well. You can find some of the type definitions for computercraft here: https://github.com/Eforen/cc-tweaked-types/tree/master/declarations
- TypeScript to Lua Transpiler
- LÖVR – An open source framework for rapidly building immersive 3D experiences
- Neovim v0.5
-
Forking the typescript compiler and building on it?
It might be helpful to keep in mind: Typescript is a compiler that parses a Typescript AST and prints out whatever you want. So if your goal is to use it in a JS context, the only thing regulating what you do with it is that it outputs valid JS that can be interpreted by the various JS engines. There are projects like TypeScriptToLua which uses the TS compiler to print out Lua code.
-
How can I generate types using AST?
You can take a look at TypescriptToLua which transforms the TS AST into Lua code using the compiler API, however I think you're barking up the wrong tree. The TS compiler works on *it's own\* AST generated from parsed Typescript. You can see how they implement your own type here. What you have some structured data and want to turn it into a type definition. That's just some loops you write yourself over data you've hopefully structured in a sane way. Turn it into a string, write it to a file with the extension `.d.ts`. No libraries needed.
What are some alternatives?
typescript.nvim - A Lua plugin, written in TypeScript, to write TypeScript (Lua optional).
moonscript - :crescent_moon: A language that compiles to Lua
lua-enumerable - A port of ruby's Enumerable module to Lua
lua-languages - Languages that compile to Lua
tl - The compiler for Teal, a typed dialect of Lua
love - LÖVE is an awesome 2D game framework for Lua.
luacheck - A tool for linting and static analysis of Lua code.
neovim-ui - Vaporware -- nothing to see here
nvim-previewer - A concisemark previewer plugin for neovim
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
hererocks - Python script for installing Lua/LuaJIT and LuaRocks into a local directory
ttypescript - Over TypeScript tool to use custom transformers in the tsconfig.json