Giter Site home page Giter Site logo

stjordanis / lua-mode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from immerrr/lua-mode

0.0 2.0 0.0 1.1 MB

Emacs major mode for editing Lua

Home Page: http://immerrr.github.io/lua-mode

Makefile 1.10% Emacs Lisp 88.18% Shell 0.65% Lua 10.06%

lua-mode's Introduction

Lua mode

Build Status

lua-mode is a major mode for editing Lua sources in Emacs.

If you have a problem or a suggestion about lua-mode, please, let me know about it via github's Issue Tracker.

INSTALLATION

MELPA INSTALLATION

lua-mode's officially supported installation method is from MELPA archive.

To get started, enable installing packages from MELPA:

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)

To fetch the list of packages you can do

    <M-x> package-refresh-contents

And after that lua-mode can be installed with

    <M-x> package-install "lua-mode"

Please, refer to MELPA documentation and Emacs documentation on packages for further information.

EL-GET INSTALLATION

El-get is a package manager which greatly simplifies adding modules to your Emacs and keeping them up-to-date. Once you have el-get set up, lua-mode can also be installed with

<M-x> el-get-install "lua-mode"

and updating is no more than

<M-x> el-get-update "lua-mode"

Please, consult with el-get documentation for further information.

MANUAL INSTALLATION

To install, you need to make sure that lua-mode.el is on your load-path (and optionally byte-compile it) and to set up Emacs to automatically enable lua-mode for *.lua files or ones that contain lua hash-bang line (#!/usr/bin/lua). Putting this snippet to .emacs should be enough in most cases:

    ;;;; This snippet enables lua-mode

    ;; This line is not necessary, if lua-mode.el is already on your load-path
    (add-to-list 'load-path "/path/to/directory/where/lua-mode-el/resides")

    (autoload 'lua-mode "lua-mode" "Lua editing mode." t)
    (add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode))
    (add-to-list 'interpreter-mode-alist '("lua" . lua-mode))

FEATURES

  • syntactic indentation & highlighting (including multiline literals/comments)
  • evaluation of lines/regions/functions/files in Lua subprocess or direct interaction with its REPL
  • documentation lookup (using online/offline reference manual, e.g. string.find)
  • imenu integration
  • HideShow integration

CUSTOMIZATION

The following variables are available for customization (see more via M-x customize-group lua):

  • Var lua-indent-level (default 3): indentation offset in spaces
  • Var lua-indent-string-contents (default nil): set to t if you like to have contents of multiline strings to be indented like comments
  • Var lua-indent-nested-block-content-align (default t) set to nil to stop aligning the content of nested blocks with the open parenthesis
  • Var lua-indent-close-paren-align (default t) set to t to align close parenthesis with the open parenthesis rather than with the beginning of the line
  • Var lua-mode-hook: list of functions to execute when lua-mode is initialized
  • Var lua-documentation-url (default "http://www.lua.org/manual/5.1/manual.html#pdf-"): base URL for documentation lookup
  • Var lua-documentation-function (default browse-url): function used to show documentation (eww is a viable alternative for Emacs 25)

LUA SUBPROCESS CREATION

  • Var lua-default-application (default "lua"): command to start up the subprocess (REPL)
  • Var lua-default-command-switches (default "-i"): arguments to pass to the subprocess on startup (make sure -i is there if you expect working with Lua shell interactively)
  • Cmd lua-start-process: start new REPL process, usually happens automatically
  • Cmd lua-kill-process: kill current REPL process

LUA SUBPROCESS INTERACTION

  • Cmd lua-show-process-buffer: switch to REPL buffer
  • Cmd lua-hide-process-buffer: hide window showing REPL buffer
  • Var lua-always-show: show REPL buffer after sending something
  • Cmd lua-send-buffer: send whole buffer
  • Cmd lua-send-current-line: send current line
  • Cmd lua-send-defun: send current top-level function
  • Cmd lua-send-region: send active region
  • Cmd lua-restart-with-whole-file: restart REPL and send whole buffer

lua-mode's People

Contributors

edam avatar edwardbetts avatar guoxx avatar holomorph avatar immerrr avatar jd avatar jorams avatar legumbre avatar marsam avatar ptrv avatar ramnes avatar robertcochran avatar rolpereira avatar rrthomas avatar schnouki avatar sergeyklay avatar tarsius avatar v2e4lisp avatar velkyel avatar veprbl avatar vhallac avatar zonuexe avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.