Skip to content

tillheilmann/basic-mode

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

basic-mode

Package basic-mode provides a major mode for editing BASIC code in GNU Emacs. Features include syntax highlighting and indentation, as well as support for auto-numbering and renumering of code lines.

Installation

The recommended way to install basic-mode is from MELPA.

To install manually, place basic-mode.el in your load-path, and add the following lines of code to your init file:

(autoload 'basic-mode "basic-mode" "Major mode for editing BASIC code." t)
(add-to-list 'auto-mode-alist '("\\.bas\\'" . basic-mode))

Usage

Formatting Code

TAB indents the current line of BASIC code, including line numbers if available. If the region is active, TAB indents all lines in the region.

C-c C-f formats the entire buffer; indents all lines, and removes any extra whitespace. If the region is active, C-c C-f formats all lines in the region.

Line Numbers

For classic BASIC, basic-mode provides several functions to manage line numbers. Customize variables basic-auto-number and basic-line-number-cols to your liking to turn on line numbers.

With line numbers turned on, RET will start new lines with a fresh line number. The line number increment is defined by variable basic-auto-number. C-c C-r will renumber all lines in the entire buffer, including any jumps in the code. The line number increment used when renumbering is defined by variable basic-renumber-increment. If the region is active, C-c C-r renumbers all lines in the region instead.

With line numbers turned on, C-c C-f will also respect line numbers, and the value configured in basic-line-number-cols while formatting.

Configuration

The following table lists the customizable variables that affect basic-mode in some way:

Name Description Default Value
basic-auto-number If non-nil, auto-number new lines by incrementing the line number with this value. nil
basic-delete-trailing-whitespace If non-nil, basic-format-code deletes trailing whitespace while formatting. t
basic-indent-offset The number of columns to indent code blocks, for example inside an IF statement. 4
basic-line-number-cols The number of columns allocated to line numbers at the beginning of the line. 0
basic-mode-hook Hook run when entering BASIC mode. nil
basic-renumber-increment Default line number increment when renumbering lines. 10
basic-renumber-unnumbered-lines If non-nil, lines without line numbers are also renumbered when renumbering lines. t
delete-trailing-lines (simple.el) If non-nil, basic-format-code deletes trailing empty lines while formatting. t

MELPA

About

Emacs major mode for editing BASIC code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Emacs Lisp 100.0%