summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/rouge-4.7.0/lib/rouge/lexers/conf.rb
blob: 79a0f92d4c83a94b700c06bf502bed983a9046f9 (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
# -*- coding: utf-8 -*- #
# frozen_string_literal: true

module Rouge
  module Lexers
    class Conf < RegexLexer
      tag 'conf'
      aliases 'config', 'configuration'

      title "Config File"
      desc 'A generic lexer for configuration files'
      filenames '*.conf', '*.config'

      # short and sweet
      state :root do
        rule %r/#.*?\n/, Comment
        rule %r/".*?"/, Str::Double
        rule %r/'.*?'/, Str::Single
        rule %r/[a-z]\w*/i, Name
        rule %r/\d+/, Num
        rule %r/[^\w#"']+/, Text
      end
    end
  end
end