lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


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.