An open API service indexing awesome lists of open source software.

https://github.com/orbitalquark/textadept-format

Code formatting module for Textadept.
https://github.com/orbitalquark/textadept-format

formatter formatting textadept textadept-module

Last synced: about 1 month ago
JSON representation

Code formatting module for Textadept.

Awesome Lists containing this project

README

        

# Format

Format/reformat paragraph and code.

Install this module by copying it into your *~/.textadept/modules/* directory or Textadept's
*modules/* directory, and then putting the following in your *~/.textadept/init.lua*:

```lua
local format = require('format')
```

There will be an "Edit > Reformat" menu.

## Key Bindings

Windows and Linux | macOS | Terminal | Command
-|-|-|-
**Edit**| | |
Ctrl+Shift+J | ⌘⇧J | M-S-J | Reformat paragraph


## `format.code`()

Reformats using a code formatter for the current buffer's lexer language either the selected
text or the current paragraph, according to the rules of `textadept.editing.filter_through()`.

See also: [`format.commands`](#format.commands)


## `format.commands`

Map of lexer languages to string code formatter commands or functions that return such
commands.

Fields:

- `lua`:
- `cpp`:
- `go`:


## `format.ignore_file_patterns`

List of patterns that match filenames to ignore when formatting on save.

This is useful for projects with a top-level format config file, but subfolder dependencies
whose code should not be formatted on save.

Usage:

```lua
table.insert(format.ignore_file_patterns, '/testdata/')
```


## `format.ignore_footer_lines`

List of footer lines to ignore when reformatting paragraphs.

These can be Doxygen footers for example.

Fields:

- `*/`:

Usage:

```lua
table.insert(format.ignore_footer_lines, '"""')
```


## `format.ignore_header_lines`

List of header lines to ignore when reformatting paragraphs.

These can be LuaDoc/LDoc or Doxygen headers for example.

Fields:

- `---`:
- `/**`:

Usage:

```lua
table.insert(format.ignore_header_lines, '"""')
```


## `format.line_length`

The maximum number of characters to allow on a line when reformatting paragraphs.
The default
value is 100.


## `format.on_save`

Invoke a code formatter on save.

The default value is `true`.


## `format.paragraph`()

Reformats using the Unix `fmt` tool either the selected text or the current paragraph,
according to the rules of `textadept.editing.filter_through()`.

For styled text, paragraphs are either blocks of same-styled lines (e.g. code comments),
or lines surrounded by blank lines.
If the first line matches any of the lines in [`format.ignore_header_lines`](#format.ignore_header_lines), it is not
reformatted. If the last line matches any of the lines in [`format.ignore_footer_lines`](#format.ignore_footer_lines),
it is not reformatted.

See also: [`format.line_length`](#format.line_length)


## `format.prefix_map`

Prefixes to remap when reformatting paragraphs.

This is for paragraphs that have a first-line prefix that is different from subsequent
line prefixes. For example, LuaDoc/LDoc comments start with '---' but continue with '--',
and Doxygen comments start with '/**' but continue with ' *'.

Fields:

- `[/**]`:
- `[---]`:

Usage:

```lua
format.prefix_map['##'] = '#'
```