This file is indexed.

/usr/share/highlight/langDefs/ruby.lang is in highlight-common 3.18-3build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Description="Ruby"

Identifiers=[[ [a-zA-Z_][\w\-]* ]]

Digits=[[ (?:0x|0X|0b)[0-9a-fA-F]+|\d*[\.\_]?\d+(?:[eE][\-\+]\d+)?[lLuU]? ]]

Keywords={
  { Id=1,
    List={"alias", "and", "begin", "begin", "break", "case", "class", "def", "defined", "loop", "do", "else", "elsif", "end", "end", "ensure", "false", "for", "if", "in", "module", "next", "nil", "not", "or", "redo", "rescue", "retry", "return", "require", "self", "super", "then", "true", "", "undef", "unless", "", "until", "when", "while", "yield", "true", "false", "nil", "stdin", "stdout", "stderr", "env", "argf", "argv", "data", "version", "ruby-release-date", "ruby-platform", "include", "extend", "eval"},
  },
  { Id=3,
   List = {"TRUE","FALSE","NIL","STDIN","STDOUT","STDERR","ENV","ARGF","ARGV","DATA","RUBY_VERSION","RUBY_RELEASE_DATE","RUBY_PLATFORM"}
  },
  { Id=2,
    Regex=[[[\$\@][\/\w]+]],
  },
  { Id=3,
    Regex=[[m?\/.*?\/|(s|tr)\/.*?\/.*?\/[cegimosx]*]],
    Group=0,
  },
  { Id=3,
    Regex=[[\:\w+]],
  },
  { Id=4,
    Regex=[[(\w+)\s*\(]],
  },
}

-- hereDoc opening delimiter, see OnStateChange to handle end of string
Strings={
  Delimiter=[["|'|`|<<[\-"'`]?[\w_]+["'`]?]],
  Interpolation = [[ \{[^}]*\} ]],

  DelimiterPairs= {
    { Open=[[%q\(]], Close=[[\)]] },
    { Open=[[%Q\(]], Close=[[\)]] },
    { Open=[[%\(]], Close=[[\)]] },
    { Open=[[%x\(]], Close=[[\)]] },
  }
}

IgnoreCase=false

Comments={
  { Block=false,
    Delimiter= { [[#]] },
  },
  { Block=true,
    Nested=false,
    Delimiter= { [[\=begin]],[[\=end]] }
  }
}

Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\.|\&|<|>|\!|\-|\+|\/|\*|\=|\?|\%|\|]]

-- resolve issue with # which starts comments and extrapolation sequences in strings
function OnStateChange(oldState, newState, token)
   if string.sub(token,1,1)=="#" and oldState==HL_STRING  then
      return HL_INTERPOLATION
   end
   if token==")" and oldState~=HL_STRING  then
      return HL_OPERATOR
   end
  
   --recognize hereDoc multine strings
   --do not clear hereDoc if token is ",' or `
   if (oldState==HL_STANDARD or oldState==HL_STRING) and newState==HL_STRING and not string.find("\"'`", token) then
      hereDoc = string.match(token, "<<[%-\"'`]?([%a_]+)" )
   end

   if oldState==HL_STRING and token==hereDoc then
      hereDoc = nil
      return HL_STRING_END
   end
   
   return newState
end