💄 [MIRROR] A Sublime Text 3+ syntax definition for your nftables rules https://git.io/Nftables
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Samuel FORESTIER 32a8ae905d Adds a CI job running syntax tests using SublimeText/syntax-test-action 2 months ago
.github Adds a CI job running syntax tests using SublimeText/syntax-test-action 2 months ago
.gitattributes Publishes a `.gitattributes` file to make Linguist detect YAML & JSON 2 years ago
Comments.tmPreferences Allows source lines comment toggling (#1) 1 year ago
LICENSE So we finally got something here, let's draft a first commit ! 2 years ago
Nftables.sublime-build Renames project source files to match internal syntax name (`Nftables`) 2 years ago
Nftables.sublime-syntax Fixes/Improves chain priorities keywords (nftables >= 0.9.6 feature) 2 months ago
README.md Explicits Sublime Text 4 support 4 months ago
syntax_test_Nftables.nft Fixes/Improves chain priorities keywords (nftables >= 0.9.6 feature) 2 months ago

README.md

Nftables

A Sublime Text 3+ syntax definition for your nftables rules

Preview

Introduction

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.
See the 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.

Manually

  1. Move into Sublime Text packages folder (usually $HOME/.config/sublime-text-3/Packages/ or %AppData%\Sublime Text 3\Packages\)
  2. Clone this repository there : $ git clone https://github.com/HorlogeSkynet/Nftables.git
  3. Restart Sublime Text and... 🎉

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 currently supported

  • nftables output
  • 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 or pull request.

Why didn't you convert the official Bison parser to Sublime's definition syntax ?

It looks like 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 as a well-explained starting point, written by @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.