[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] mc^2
- From: Mooffie <mooffie@...>
- Date: Thu, 15 Oct 2015 19:13:55 +0300
mc^2 is a fork of Midnight Commander with Lua support:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/
...but let's skip the verbiage and go directly to the screenshots:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/guide/SCREENSHOTS.md.html
Now, I assume most of you here aren't users of MC.
So I won't bore you with description of how Lua makes MC a better
file-manager. Instead, I'll just list some details that may interest
any developer who works on extending some application.
And, as you'll shortly see, you may find mc^2 useful even if you
aren't a user of MC!
So, some interesting details:
* Programmer Goodies
- You can restart the Lua system from within MC.
- Since MC has a built-in editor, you can edit Lua code right there
and restart Lua. So it's somewhat like a live IDE:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/images/screenshots/game.png
- It comes with programmer utilities: regular expressions; global scope
protected by default; good pretty printer for Lua tables; calculator
where you can type Lua expressions; the editor can "lint" Lua code (and
flag uses of global variables).
- It installs a /usr/bin/mcscript executable letting you use all the
goodies from "outside" MC:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/guide/60-standalone.md.html
* User Interface programming (UI)
- You can program a UI (user interface) very easily. The API is fun
yet powerful. It has some DOM/JavaScript borrowings in it: you can
attach functions to events like on_click, on_change, etc. The API
uses "properties", so your code tends to be short and readable:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/guide/40-user-interface.md.html
- The UI has a "canvas" object letting you draw your own stuff. The
system is so fast you can program arcade games. Pacman, Tetris,
Digger, whatever:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/classes/ui.Canvas.html
Need timers in your game? You've got them:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/modules/timer.html
- This UI API is an ideal replacement for utilities like dialog(1).
You can write complex frontends to command-line tools with ease:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/images/screenshots/frontend-scanimage.png
- Thanks to the aforementioned /usr/bin/mcscript, you can run your
games/frontends from "outside" MC:
http://www.typo.co.il/~mooffie/mc-lua/docs/html/images/screenshots/standalone-game.png
* Misc
- You can compile it against Lua 5.1, 5.2, 5.3, or LuaJIT.
- Extensive documentation.