https://github.com/horlogeskynet/nftables
:lipstick: A Sublime Text 3+ syntax definition for your nftables rules
https://github.com/horlogeskynet/nftables
nftables nftables-rules package-control sublime-syntax sublime-text sublime-text-3 sublime-text-4 sublime-text-plugin syntax-highlighting
Last synced: 10 days ago
JSON representation
:lipstick: A Sublime Text 3+ syntax definition for your nftables rules
- Host: GitHub
- URL: https://github.com/horlogeskynet/nftables
- Owner: HorlogeSkynet
- License: gpl-3.0
- Created: 2020-02-18T20:18:46.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2025-02-23T14:30:56.000Z (3 months ago)
- Last Synced: 2025-03-31T11:21:13.563Z (about 2 months ago)
- Topics: nftables, nftables-rules, package-control, sublime-syntax, sublime-text, sublime-text-3, sublime-text-4, sublime-text-plugin, syntax-highlighting
- Language: YAML
- Homepage: https://packagecontrol.io/packages/Nftables
- Size: 194 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Nftables
> A Sublime Text 3+ syntax definition for your nftables rules

## Introduction
[nftables](https://netfilter.org/projects/nftables/) should _now_ be the regular way of handling Netfilter rules, and I was surprised not to find any syntax definition for Sublime Text.
This project aims to provide a "basic" one, as long as a building procedure for GNU/Linux users (when the `nft` binary is available for "dynamic" syntax checks).This project has been inspired by [the official nano syntax definition](https://git.savannah.gnu.org/cgit/nano.git/tree/syntax/nftables.nanorc).
See the [_Scripting_](https://wiki.nftables.org/wiki-nftables/index.php/Scripting) nftables Wiki page for external reference.## Installation
### With Package Control
1. Open your command palette and type in : `Package Control: Install Package`
2. Browse the list or search for `Nftables`
3. Press `Enter` and you're done !Package Control dedicated page [here](https://packagecontrol.io/packages/Nftables).
### Manually
1. Move into Sublime Text packages folder (usually `$HOME/.config/sublime-text/Packages/` or `%AppData%\Sublime Text\Packages\`)
2. Clone this repository there : `git clone https://github.com/HorlogeSkynet/Nftables.git`
3. Restart Sublime Text and... :tada:## Usage
### Syntax
* Open your command palette and type in : `Set Syntax: Nftables`
* Click on the bottom-right corner : `Nftables`
* `View > Syntax > Nftables`
### Build
* Open your command palette and type in : `Build With: Nftables`
* Press `CTRL + B`
* `Tools > Build`
## [Formats](https://wiki.nftables.org/wiki-nftables/index.php/Scripting#File_formats) currently supported
* [X] nftables output
* [X] scripted configuration## Frequently Asked Questions
### Do you plan to support the _whole_ nftables syntax ?
> No, but feel free to contribute.
### Why does this syntax coloration s\*cks ?
> Well, sorry to hear that. Grammar wasn't my favorite course at school.
> I'd be pleased to review any [issue](https://github.com/HorlogeSkynet/Nftables/issues/new) or pull request.### Why didn't you convert the [official Bison parser](https://git.netfilter.org/nftables/tree/src/parser_bison.y) to [Sublime's definition syntax](https://www.sublimetext.com/docs/syntax.html) ?
> [It looks like](https://forum.sublimetext.com/t/convert-bnf-yacc-grammar-definition-to-syntax-package/15980) such a tool does not exist (yet ?).
### Would this plugin help me building a secure fire-wall ?
> No, but I would advise you [this blog post](https://stosb.com/blog/explaining-my-configs-nftables/) as a well-explained starting point, written by [@tasn](https://github.com/tasn).
### I've noticed you got an extensive tests suite, can I run it ?
> Of course, open the `Nftables.sublime-syntax` file, press `CTRL + Shift + B` and choose `Build With: Syntax Tests`.