Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/shakeelmohamed/sublime-splunk-conf-highlighting

Syntax highlighting for Splunk .conf files in Sublime Text 2 & 3
https://github.com/shakeelmohamed/sublime-splunk-conf-highlighting

conf-files configuration-file highlighting splunk splunk-enterprise sublime-text syntax-highlighting

Last synced: 3 months ago
JSON representation

Syntax highlighting for Splunk .conf files in Sublime Text 2 & 3

Awesome Lists containing this project

README

        

# Sublime Text syntax highlighting for .conf files

[![Build Status](https://travis-ci.org/shakeelmohamed/sublime-splunk-conf-highlighting.svg)](https://travis-ci.org/shakeelmohamed/sublime-splunk-conf-highlighting)

Sublime Text is awesome! But, there's no great way to get syntax highlighting for a Splunk .conf file... until now!

**It works with Sublime Text 2 & 3!**

### Before

![before](before.png)

### After

![after](after.png)

## Installation

* Install it from [Package Control](https://packagecontrol.io/) - search for `Splunk Conf File Syntax Highlighting`


### Manual Installation

* Clone the repo
* `cd sublime-splunk-conf-highlighting`

#### Sublime Text 2

* `cp splunk-conf.tmLanguage ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/user/splunk-conf.tmLanguage`

#### Sublime Text 3

* `cp splunk-conf.tmLanguage ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/user/splunk-conf.tmLanguage`

## Patterns

Patterns are used to identify some part of a file.

Patterns used by this package:

* `^# DO NOT EDIT THIS FILE\\!$` - marks any lines as invalid if they are `# DO NOT EDIT THIS FILE!`
* `^#.*$` - marks any lines that start with `#` as a comment
* `^\\[.*\\]$` - marks any line starting with `[` and ending with `]` as a stanza
* `^[\\w+\\.\\-\\:]+` - marks the beginning of a line as a conf key; defined by any whitespace, alphanumeric, `-` or `:` characters
* `=` - marks any `=` as an equals sign

Patterns have 3 main attributes:

* `match` (or, `begin` and `end`): regex patterns
* `name`: a `TextMate` language grammar group, `comment.line` for an inline comment
* `comment`: a comment about the pattern

## Resources

* This TextMate [Language Grammars guide](https://manual.macromates.com/en/language_grammars#naming_conventions) is really helpful for figuring out what name to use for each rule.

## Development Notes

There are 2 important files here:

* `splunk-conf.YAML-tmLanguage` - The `AAAPackageDev` package compiles this to the following, this YAML file is much easier to use
* `splunk-conf.tmLanguage` - This is a TextMate language definition file in XML format. SublimeText uses this format, it's a necessary evil.

* Install package control if you haven't already
* cmd + shift + P (Mac) or ctrl + shift + P (Windows)
- Install package
- AAAPackageDev
* Open `splunk-conf.YAML-tmLanguage`
* cmd + B should update `splunk-conf.tmLanguage`, make a small change and see if it worked. If not, play with your build system settings under Tools -> Build System
* During development you'll need to constantly copy the `splunk-conf.tmLanguage` into your Sublime Text package folder, like so: `cp splunk-conf.tmLanguage ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/user/splunk-conf.tmLanguage`
* If something doesn't seem to update, quit & reopen Sublime Text and it should work.