branch: elpa/scala-mode commit ece95ca60fe5d3ebe58f71a0a94aa3ebdd050957 Author: Sam Halliday <sam.halli...@gmail.com> Commit: Sam Halliday <sam.halli...@gmail.com>
use CI to compile PRs --- .drone.yml | 14 +++++++ .gitignore | 4 +- Cask | 35 +++++++++++++++++ Examples.md | 64 ------------------------------ Makefile | 113 ----------------------------------------------------- scala-mode2-pkg.el | 3 +- scala-mode2.el | 16 ++++++-- 7 files changed, 64 insertions(+), 185 deletions(-) diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..922a342 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,14 @@ +build: + image: ensime/ensime:v1.x-cache + pull: true + commands: + - git log | head -n 20 ; + - host `curl -s http://httpbin.org/ip | jq -r '.origin'` || true ; + - cask pkg-file ; + cask install ; + cask build ; + +matrix: + EMACS: + - /opt/emacs-24.5/bin/emacs + - /opt/emacs-24.3/bin/emacs diff --git a/.gitignore b/.gitignore index 9bb2670..7a0f02f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ *.elc -.latest-build -scala-mode2-0.* +.cask + diff --git a/Cask b/Cask new file mode 100644 index 0000000..286746e --- /dev/null +++ b/Cask @@ -0,0 +1,35 @@ +;;-*- Mode: Emacs-Lisp -*- +;;; Cask --- project definition + +;; Copyright (C) 2015 Sam Halliday + +;; Author: Sam Halliday <sam.halli...@gmail.com> + +;;; Commentary: +;; +;; Cask is a package manager for emacs lisp projects, this generates +;; the *-pkg.el file and could be our test runner in the future. +;; +;; See http://cask.readthedocs.org/en/latest/guide/dsl.html for more +;; information about Cask. +;; +;; cask pkg-file +;; +;; cask update +;; cask install +;; +;; are particularly useful commands. +;; +;;; Code: + +(source melpa-stable) + +(package-file "scala-mode2.el") + +(development + (depends-on "ert-runner") + (depends-on "ecukes") + (depends-on "espuds") + (depends-on "undercover")) + +;;; Cask ends here diff --git a/Examples.md b/Examples.md deleted file mode 100644 index eb44f69..0000000 --- a/Examples.md +++ /dev/null @@ -1,64 +0,0 @@ -# Examples on good and bad indentation # - -This file is for discussing indentation issues. If you have an -indentation that is broken, you can make a pull request for it to be -included here along with your view on how it should be indented. - -## Indentation of constructor parameters and TemplateOpts (`extends`, `with`) ## - -Scala style guide (example below) only recognizes two styles: either -all parameters are on one line, or then start the parameter list on a -new line. The third where the parameter lists starts on the first -line, but continues on the second is not mentioned by the guide. - -```scala -// Acording to style guide, this is the only way to break -// parameters on multiple lines - -class Foo( - x: String, // note the double step (4 spaces) - y: Boolean) - extends Bar // note the single step (2 spaces) -``` - -Currently we do one step indent for params and two step indent, which -is totally oposite to the style-guide. - -```scala -// current scala-mode2 - -private abstract class Foo( bar: String, zot: String ) - extends Bar - with Zot { - body -} - -private abstract class Foo( - bar: String, - zot: String) - extends Bar - with Zot { - body -} - -// with scala-indent:align-parameters = t -private abstract class Foo( bar: String, - zot: String ) - extends Bar - with Zot { - body -} - -// with scala-indent:align-parameters = nil -private abstract class Foo( bar: String, - zot: String ) - extends Bar - with Zot { - body -} -``` - -### Proposal of what to change ### - -I'm hesitating. Should we change to what the style guide has? - diff --git a/Makefile b/Makefile deleted file mode 100644 index f566bd3..0000000 --- a/Makefile +++ /dev/null @@ -1,113 +0,0 @@ -############################################################-*-Makefile-*-#### -# Makefile for compiling the major mode of Emacs -############################################################################## - -## This Makefile has been copied from the scala project. -## See the LICENSE at the bottom of this file. - -############################################################################## -# Configuration - -ROOT = . - -SOURCE_DIR = $(ROOT) - -############################################################################## -# Variables - -MODE_NAME = scala-mode2 - -# Emacs Lisp -ELISP_COMMAND ?= emacs -ELISP_OPTIONS += -batch -no-site-file -q -ELISP_OPTIONS += -L $(ROOT) - - -ELISP_FILES += $(MODE_NAME)-lib -ELISP_FILES += $(MODE_NAME) -ELISP_FILES += $(MODE_NAME)-syntax -ELISP_FILES += $(MODE_NAME)-indent -ELISP_FILES += $(MODE_NAME)-paragraph -ELISP_FILES += $(MODE_NAME)-fontlock -ELISP_FILES += $(MODE_NAME)-map -ELISP_FILES += $(MODE_NAME)-sbt -ELISP_SOURCES += $(ELISP_FILES:%=$(SOURCE_DIR)/%.el) - -PKG_FILE += $(SOURCE_DIR)/$(MODE_NAME)-pkg.el - -############################################################################## - -RM ?= rm -f -RMDIR ?= rmdir -TOUCH ?= touch - -# Strip the version out of the pkg file -VERSION := $(shell ${ELISP_COMMAND} $(ELISP_OPTIONS) --eval '(princ (format "%s\n" (nth 2 (read (find-file "$(PKG_FILE)")))))') -MODE_NAME_VERSION = $(MODE_NAME)-$(VERSION) - -############################################################################## -# Commands - -all: .latest-build - -clean: - $(RM) *.elc .latest-* autoloads.el $(MODE_NAME_VERSION).tar - [ ! -d $(MODE_NAME_VERSION) ] || $(RM) $(MODE_NAME_VERSION)/* - [ ! -d $(MODE_NAME_VERSION) ] || $(RMDIR) $(MODE_NAME_VERSION) - -.PHONY: all -.PHONY: clean - -############################################################################## -# Rules - -.latest-build: $(ELISP_SOURCES) - $(ELISP_COMMAND) $(ELISP_OPTIONS) -f batch-byte-compile $(ELISP_SOURCES) - @$(TOUCH) $@ - -############################################################################## - -autoloads: $(ELISP_SOURCES) - $(ELISP_COMMAND) $(ELISP_OPTIONS) --eval "(setq make-backup-files nil)" --eval "(setq generated-autoload-file (expand-file-name \"autoloads.el\"))" -f batch-update-autoloads `pwd` - -package: - mkdir -p $(MODE_NAME_VERSION) - cp $(ELISP_SOURCES) $(PKG_FILE) $(MODE_NAME_VERSION) - tar cf $(MODE_NAME_VERSION).tar $(MODE_NAME_VERSION) - - -## SCALA LICENSE -## -## Copyright (c) 2002-2011 EPFL, Lausanne, unless otherwise specified. -## All rights reserved. -## -## This software was developed by the Programming Methods Laboratory of the -## Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland. -## -## Permission to use, copy, modify, and distribute this software in source -## or binary form for any purpose with or without fee is hereby granted, -## provided that the following conditions are met: -## -## 1. Redistributions of source code must retain the above copyright -## notice, this list of conditions and the following disclaimer. -## -## 2. Redistributions in binary form must reproduce the above copyright -## notice, this list of conditions and the following disclaimer in the -## documentation and/or other materials provided with the distribution. -## -## 3. Neither the name of the EPFL nor the names of its contributors -## may be used to endorse or promote products derived from this -## software without specific prior written permission. -## -## -## THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -## ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -## SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -## CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -## SUCH DAMAGE. diff --git a/scala-mode2-pkg.el b/scala-mode2-pkg.el index 8583bab..88027b1 100644 --- a/scala-mode2-pkg.el +++ b/scala-mode2-pkg.el @@ -1,2 +1 @@ -(define-package "scala-mode2" "0.22" "Major mode for editing Scala >= 2.9") - +(define-package "scala-mode2" "0.22" "Major mode for editing Scala" 'nil) diff --git a/scala-mode2.el b/scala-mode2.el index 8df7f99..886dc4a 100644 --- a/scala-mode2.el +++ b/scala-mode2.el @@ -1,9 +1,17 @@ -;;; scala-mode2.el --- Major mode for editing scala +;;; scala-mode2.el --- Major mode for editing Scala ;; Copyright (c) 2012 Heikki Vesalainen -;; For information on the License, see the LICENSE file -;; URL: http://github.com/hvesalai/scala-mode2 -;; Based on Scala Language Specification (SLS) Version 2.9 + +;; Homepage: https://github.com/ensime/emacs-scala-mode +;; Keywords: languages +;; Package-Version: 0.22 +;; Package-Requires: () + +;;; Commentary: +;; +;; Documentation at http://ensime.github.io/editors/emacs/scala-mode/ +;; +;;; Code: (require 'scala-mode2-lib) (require 'scala-mode2-syntax)