From 69c023979544b239eeb6a1ca583e787987d07348 Mon Sep 17 00:00:00 2001 From: shixiongfei Date: Sat, 13 Mar 2021 17:40:00 +0800 Subject: [PATCH] Add Lua programming support --- modules/prelude-lua.el | 54 +++++++++++++++++++++++++++++++++++++++ sample/prelude-modules.el | 1 + 2 files changed, 55 insertions(+) create mode 100644 modules/prelude-lua.el diff --git a/modules/prelude-lua.el b/modules/prelude-lua.el new file mode 100644 index 0000000..ad74abe --- /dev/null +++ b/modules/prelude-lua.el @@ -0,0 +1,54 @@ +;;; prelude-lua.el --- Emacs Prelude: Lua programming configuration. +;; +;; Copyright © 2011-2021 Bozhidar Batsov +;; +;; Author: Xiongfei Shi +;; URL: https://github.com/bbatsov/prelude + +;; This file is not part of GNU Emacs. + +;;; Commentary: + +;; Basic configuration for Lua programming. + +;;; License: + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License +;; as published by the Free Software Foundation; either version 3 +;; of the License, or (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Code: + + +(require 'prelude-programming) +(prelude-require-packages '(lua-mode)) + +(with-eval-after-load 'lua-mode + (setq lua-indent-level 2) + (setq lua-indent-nested-block-content-align nil) + (setq lua-indent-close-paren-align nil) + (setq lua-indent-string-contents t) + (define-key lua-mode-map (kbd "C-c C-b") 'lua-send-buffer) + (define-key lua-mode-map (kbd "C-c C-l") 'lua-send-current-line) + (define-key lua-mode-map (kbd "C-c C-f") 'lua-send-defun) + (define-key lua-mode-map (kbd "C-c C-r") 'lua-send-region) + (define-key lua-mode-map (kbd "C-c C-z") 'lua-show-process-buffer)) + +(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)) + +(provide 'prelude-lua) + +;;; prelude-lua ends here diff --git a/sample/prelude-modules.el b/sample/prelude-modules.el index dcf8494..8f1aa23 100644 --- a/sample/prelude-modules.el +++ b/sample/prelude-modules.el @@ -79,6 +79,7 @@ ;; (require 'prelude-latex) (require 'prelude-lisp) ;; Common setup for Lisp-like languages (require 'prelude-lsp) ;; Base setup for the Language Server Protocol +;; (require 'prelude-lua) ;; (require 'prelude-ocaml) (require 'prelude-perl) ;; (require 'prelude-python)