blob: 11369e6faff1765c3575074eadea20d716d00c68 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# -*- coding: utf-8 -*- #
# frozen_string_literal: true
module Rouge
module Lexers
class SSH < RegexLexer
tag 'ssh'
title "SSH Config File"
desc 'A lexer for SSH configuration files'
filenames 'ssh_config'
state :root do
rule %r/[a-z0-9]+/i, Keyword, :statement
mixin :base
end
state :statement do
rule %r/\n/, Text, :pop!
rule %r/(?:yes|no|confirm|ask|always|auto|none|force)\b/, Name::Constant
rule %r/\d+/, Num
rule %r/[^#\s;{}$\\]+/, Text
mixin :base
end
state :base do
rule %r/\s+/, Text
rule %r/#.*/, Comment::Single
end
end
end
end
|