treesitter-unit
godot-nim
treesitter-unit | godot-nim | |
---|---|---|
9 | 16 | |
149 | 494 | |
- | 0.0% | |
1.8 | 0.0 | |
over 2 years ago | over 1 year ago | |
Lua | Nim | |
The Unlicense | GNU General Public License v3.0 or later |
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.
treesitter-unit
-
paredit.vim – Paredit Mode: Structured Editing of Lisp S-Expressions
It's also relatively easy to write plugins based on the parsed AST. I wrote treesitter-unit[1] making it easy to select/modify the subtree of the selection.
[1]: https://github.com/David-Kunz/treesitter-unit
-
What do you use treesitter for other than highlighting?
I built a plugin to select units of tree-sitter objects https://github.com/David-Kunz/treesitter-unit
- USER FLAIRS: Apply now!
-
How to paste inline the content I deleted/yanked with x/d/dd/y/yy instead of pasting one line below?
To delete/yank the node, the combination would be `diu`, using this plugin: https://github.com/David-Kunz/treesitter-unit
- Nim Version 1.6 Released
-
Custom treesitter textobjects
Hi, I also think treesitter-textobjects are a bit overspecific, that's why I created https://github.com/David-Kunz/treesitter-unit/ .
-
Video: Let's create a Neovim plugin using Treesitter and Lua
In this video I create a Neovim plugin called 'treesitter-unit' using Lua. You can find the final plugin here: https://github.com/David-Kunz/treesitter-unit/
-
Plugin: treesitter-unit
I tried it with operator mode maps and it works perfectly! I updated the README to include: vim.api.nvim_set_keymap('o', 'x', ':lua require"treesitter-unit".select()', {noremap=true})
godot-nim
-
Plans for Nim bindings for Godot 4
Since Godot 4 is gonna change their binding system the previous Nim bindings are not gonna work and the maintainers stated that they wont adapt the bindings to Godot 4.
-
Plans for Nim bindings for Godot 4?
Since Godot 4 is gonna change their binding system the previous [Nim bindings](https://github.com/pragmagic/godot-nim)
-
Programming a Rogue-Like with Rust
Another option is Nim. Looks and writes like Python but closer to C in performance. It also has static typing so I prefer it for scripting as well.
People have built a few games with the Nim Godot bindings:
https://github.com/pragmagic/godot-nim
There’s also an interesting project to do hot reloading using dlls:
https://github.com/geekrelief/gdnim
-
Inky: Isolation. A 90 minute game built with Enu, Nim and Godot
Enu is a 3D live-programming/learning/game development environment written in Nim using Godot 3, godot-nim, and godot_voxel. I use it to run a small local coding club with a group of 12 year olds, and think it is (or at least will be) a great tool for learning to code, and for making games quickly.
-
Is Nim right for me?
It uses a python-like language, is free & open-source (MIT License), has a fantastic GUI creation system, exports to all major OS's, and produces single small binaries. You could eventually incorporate Nim as well, as there are Nim bindings for Godot.
- How can I understand what "bindings to" libraries really do?
-
FYI, you can use Rust as a native scripting language
Ant then install the bindings. And thats where I'm a bit lost even after reading Godot docs. Not sure if I'm right, but seems to be necessary to compile Godot?
-
Nim Version 1.6 Released
Well no language is perfect, but Nim can be used in almost every domain because of it's compilation targets(C, C++, JS) and it's fast compile times(who needs interpretation when compile times are that fast!):
* Shell scripting, I still assume most people will just use Bash tho: https://github.com/Vindaar/shell
* Frontend: https://github.com/karaxnim/karax or you could bind to an existing JS library.
* Backend: For something Flask-like: https://github.com/dom96/jester or something with more defaults https://github.com/planety/prologue
* Scientific computing: the wonderful SciNim https://github.com/SciNim
* Blockchain: Status has some of the biggest Nim codebases currently in production https://github.com/status-im?q=&type=&language=nim&sort=
* Gamedev: Also used in production: https://github.com/pragmagic/godot-nim and due to easy C and C++ interop, you get access to a lot of gamedev libraries!
* Embedded: this is a domain I know very little about but for example https://github.com/elcritch/nesper or https://github.com/PMunch/badger for fun Nim+embedded stuff!
Most of the disadvantages come from tooling and lack of $$$ support.
-
Frustrating ergonomics of GDNative in 3.3 -- are these addressed for 4.0?
As for gdnim, it's my framework built on top of godot-nim. https://github.com/pragmagic/godot-nim https://github.com/pragmagic/godot-nim-stub
-
PR for cross-language script class support is testable! (`class_name` feature for GDScript, VisualScript, C#, and NativeScript)
I've renewed my enjoyment of programming through game development (an area I haven't been active in before) and had a great time implementing a Quadtree in GDScript but then the other problem of raw execution speed for any script language made that a bit disappointing as well (it worked well but was only an improvement for larger numbers). So now I'm learning Nim (which has godot-nim bindings) to be able to write really performant code in an easy way.
What are some alternatives?
jester - A sinatra-like web framework for Nim.
gdnim - godot-nim based bootstrapping framework supporting hot reloading
nvim-treesitter-textsubjects - Location and syntax aware text objects which *do what you mean*
pixie - Full-featured 2d graphics library for Nim.
cps - Continuation-Passing Style for Nim 🔗
nvim-treesitter-textobjects
syntax-tree-surfer - A plugin for Neovim that helps you surf through your document and move elements around using the nvim-treesitter API.
nlvm - LLVM-based compiler for the Nim language
nvim-treesitter-textobjec
enu - A Logo-like 3D environment, implemented in Nim
cmdchallenge
httpbeast - A highly performant, multi-threaded HTTP 1.1 server written in Nim.