Comments (4)
Hey, thanks for the encouragement!
I do hope to write a vim plugin soon using Riml, just a question of getting around to it 😄 Also, I plan on documenting it more thoroughly and am just finishing up with a vim-riml syntax colorer script so vim users will feel at home.
As for the syntax, all the sugary syntax parts are completely optional, so you can (presumably... with a few pitfalls that need documenting) compile any old vim plugin with Riml and it will basically spit out equivalent Vimscript.
In the tests, if you take a look at test/integration/*
, you'll see I did just that with @tpope's pathogen
plugin and another plugin called smartinput
(which you should check out if you haven't already).
Feel free to ask me anything, and of course, to contribute 😉
Edit: I misread your comment as 'I hope you get around to doing at least one plugin', freudian slip ..? Let me know when you get around to it, and send me a link.
from riml.
Well that sounds good to me. I'll confess one of the (silly) reasons I would like using Riml is for keeping my riml files in a src folder, all organized and split up into logical units, and then have it compile it all into a single production VimL file (or autoload and plugin files). Don't know if your compiler currently has that option, that's why I'm saying--that'd be pretty cool.
And yeah I meant a plugin from me, but one from you would be cool too.
from riml.
Hey, just worked a bit on the 'include' functionality you were talking about, to compile everything into 1 VimL file.
Basically, if you have main.riml, class1.riml and class2.riml, and class1 inherits from class2, here's what you do to end up with a file 'main.vim' that will have all VimL from these files included in the proper order.
in main.riml
riml_include 'class1.riml'
" I can now use Class1, even if it depends on Class2
in class1.riml
riml_include 'class2.riml' " Class1 inherits from Class2, so Class2 must be included before I define Class1
" ... code that defines Class1
in class2.riml
class Class2
" ...
end
To compile main.vim, go the directory where these files reside and type 'riml -c main.riml'. For this to work, you'll need the new Riml version (>= 0.2.0)
Thanks!
from riml.
Looking really good, thanks! I'll see if I can get some time with it on the weekend.
from riml.
Related Issues (20)
- Cache riml_includes between compile_files HOT 11
- Syntax error with dot access of "append" property on argument HOT 2
- Functions starting with uppercase letter HOT 2
- Make 1.8.7 compatible HOT 1
- smarter `riml_include` re-orders inclusions based off dependency graph for classes HOT 10
- add `riml_import` for importing classes. Once imported, you can use them without 'undefined class' errors. HOT 2
- Cache SID result HOT 2
- Minimum and Recommended version of Vim for `riml` generated code HOT 4
- `for` statement in global scope pollutes global variables HOT 3
- Functions that handle range HOT 2
- Upgrading to riml 0.3.7 doesn't pickup some classes in path HOT 4
- class method name generation error HOT 6
- exception when calling method on a list item in one statement HOT 13
- bug in boolean assignment
- calling self method with splat args fails
- Calling super in a class without extending a parent class HOT 1
- Strings with interpolation don't work with escaped single quotes.
- The pyeval function is not treated as a system function
- Viml generated by Riml is incompatible with Vim p260 or higher HOT 3
- Variables inside function should compile to local to function scope
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riml.