Skip to content

Commit b595d66

Browse files
zenspidertancnle
authored andcommitted
Fix double load warnings by using require_relative
load will load, always. Don't use it unless you really really mean it.
1 parent c0e5f08 commit b595d66

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+95
-157
lines changed

lib/rouge.rb

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ def highlight(text, lexer, formatter, &b)
4040
#
4141
# @api private
4242
def load_file(path)
43-
Kernel::load File.join(LIB_DIR, "rouge/#{path}.rb")
43+
warn "just use require_relative %p" % ["rouge/#{path}"]
44+
require_relative "rouge/#{path}"
4445
end
4546

4647
# Load the lexers in the `lib/rouge/lexers` directory.
@@ -55,52 +56,52 @@ def load_lexers
5556
end
5657
end
5758

58-
Rouge.load_file 'version'
59-
Rouge.load_file 'util'
60-
Rouge.load_file 'text_analyzer'
61-
Rouge.load_file 'token'
59+
require_relative 'rouge/version'
60+
require_relative 'rouge/util'
61+
require_relative 'rouge/text_analyzer'
62+
require_relative 'rouge/token'
6263

63-
Rouge.load_file 'lexer'
64-
Rouge.load_file 'regex_lexer'
65-
Rouge.load_file 'template_lexer'
64+
require_relative 'rouge/lexer'
65+
require_relative 'rouge/regex_lexer'
66+
require_relative 'rouge/template_lexer'
6667

6768
Rouge.load_lexers
6869

69-
Rouge.load_file 'guesser'
70-
Rouge.load_file 'guessers/util'
71-
Rouge.load_file 'guessers/glob_mapping'
72-
Rouge.load_file 'guessers/modeline'
73-
Rouge.load_file 'guessers/filename'
74-
Rouge.load_file 'guessers/mimetype'
75-
Rouge.load_file 'guessers/source'
76-
Rouge.load_file 'guessers/disambiguation'
70+
require_relative 'rouge/guesser'
71+
require_relative 'rouge/guessers/util'
72+
require_relative 'rouge/guessers/glob_mapping'
73+
require_relative 'rouge/guessers/modeline'
74+
require_relative 'rouge/guessers/filename'
75+
require_relative 'rouge/guessers/mimetype'
76+
require_relative 'rouge/guessers/source'
77+
require_relative 'rouge/guessers/disambiguation'
7778

78-
Rouge.load_file 'formatter'
79-
Rouge.load_file 'formatters/html'
80-
Rouge.load_file 'formatters/html_table'
81-
Rouge.load_file 'formatters/html_pygments'
82-
Rouge.load_file 'formatters/html_legacy'
83-
Rouge.load_file 'formatters/html_linewise'
84-
Rouge.load_file 'formatters/html_line_highlighter'
85-
Rouge.load_file 'formatters/html_line_table'
86-
Rouge.load_file 'formatters/html_inline'
87-
Rouge.load_file 'formatters/terminal256'
88-
Rouge.load_file 'formatters/terminal_truecolor'
89-
Rouge.load_file 'formatters/tex'
90-
Rouge.load_file 'formatters/null'
79+
require_relative 'rouge/formatter'
80+
require_relative 'rouge/formatters/html'
81+
require_relative 'rouge/formatters/html_table'
82+
require_relative 'rouge/formatters/html_pygments'
83+
require_relative 'rouge/formatters/html_legacy'
84+
require_relative 'rouge/formatters/html_linewise'
85+
require_relative 'rouge/formatters/html_line_highlighter'
86+
require_relative 'rouge/formatters/html_line_table'
87+
require_relative 'rouge/formatters/html_inline'
88+
require_relative 'rouge/formatters/terminal256'
89+
require_relative 'rouge/formatters/terminal_truecolor'
90+
require_relative 'rouge/formatters/tex'
91+
require_relative 'rouge/formatters/null'
9192

92-
Rouge.load_file 'theme'
93-
Rouge.load_file 'tex_theme_renderer'
94-
Rouge.load_file 'themes/thankful_eyes'
95-
Rouge.load_file 'themes/colorful'
96-
Rouge.load_file 'themes/base16'
97-
Rouge.load_file 'themes/github'
98-
Rouge.load_file 'themes/igor_pro'
99-
Rouge.load_file 'themes/monokai'
100-
Rouge.load_file 'themes/molokai'
101-
Rouge.load_file 'themes/monokai_sublime'
102-
Rouge.load_file 'themes/gruvbox'
103-
Rouge.load_file 'themes/tulip'
104-
Rouge.load_file 'themes/pastie'
105-
Rouge.load_file 'themes/bw'
106-
Rouge.load_file 'themes/magritte'
93+
require_relative 'rouge/theme'
94+
require_relative 'rouge/tex_theme_renderer'
95+
require_relative 'rouge/themes/thankful_eyes'
96+
require_relative 'rouge/themes/colorful'
97+
require_relative 'rouge/themes/base16'
98+
require_relative 'rouge/themes/github'
99+
require_relative 'rouge/themes/igor_pro'
100+
require_relative 'rouge/themes/monokai'
101+
require_relative 'rouge/themes/molokai'
102+
require_relative 'rouge/themes/monokai_sublime'
103+
require_relative 'rouge/themes/gruvbox'
104+
require_relative 'rouge/themes/tulip'
105+
require_relative 'rouge/themes/pastie'
106+
require_relative 'rouge/themes/bw'
107+
require_relative 'rouge/themes/magritte'

lib/rouge/lexer.rb

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -523,13 +523,8 @@ def self.detect?(text)
523523
end
524524

525525
module Lexers
526-
BASE_DIR = "#{__dir__}/lexers".freeze
527-
@_loaded_lexers = {}
528-
529526
def self.load_lexer(relpath)
530-
return if @_loaded_lexers.key?(relpath.to_s)
531-
@_loaded_lexers[relpath.to_s] = true
532-
Kernel::load File.join(BASE_DIR, relpath)
527+
require_relative "lexers/#{relpath}"
533528
end
534529
end
535530
end

lib/rouge/lexers/apache.rb

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,7 @@ class Apache < RegexLexer
1111
mimetypes 'text/x-httpd-conf', 'text/x-apache-conf'
1212
filenames '.htaccess', 'httpd.conf'
1313

14-
# self-modifying method that loads the keywords file
15-
def self.directives
16-
Kernel::load File.join(Lexers::BASE_DIR, 'apache/keywords.rb')
17-
directives
18-
end
19-
20-
def self.sections
21-
Kernel::load File.join(Lexers::BASE_DIR, 'apache/keywords.rb')
22-
sections
23-
end
24-
25-
def self.values
26-
Kernel::load File.join(Lexers::BASE_DIR, 'apache/keywords.rb')
27-
values
28-
end
14+
require_relative "apache/keywords"
2915

3016
def name_for_token(token, tktype)
3117
if self.class.sections.include? token

lib/rouge/lexers/apiblueprint.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module Rouge
44
module Lexers
5-
load_lexer 'markdown.rb'
5+
require_relative 'markdown'
66

77
class APIBlueprint < Markdown
88
title 'API Blueprint'

lib/rouge/lexers/biml.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module Rouge
44
module Lexers
5-
load_lexer 'xml.rb'
5+
require_relative 'xml'
66

77
class BIML < XML
88
title "BIML"

lib/rouge/lexers/cpp.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
module Rouge
55
module Lexers
6-
load_lexer 'c.rb'
6+
require_relative 'c'
77

88
class Cpp < C
99
title "C++"

lib/rouge/lexers/cuda.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
module Rouge
44
module Lexers
5-
load_lexer 'cpp.rb'
5+
require_relative 'cpp'
66

77
class CUDA < Cpp
88
title "CUDA"

lib/rouge/lexers/cython.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
module Rouge
55
module Lexers
6-
load_lexer 'python.rb'
6+
require_relative 'python'
77

88
class Cython < Python
99
title "Cython"

lib/rouge/lexers/digdag.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
require 'set'
44
module Rouge
55
module Lexers
6-
load_lexer 'yaml.rb'
6+
require_relative 'yaml'
77

88
class Digdag < YAML
99
title 'digdag'

lib/rouge/lexers/freefem.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
module Rouge
55
module Lexers
6-
load_lexer 'cpp.rb'
6+
require_relative 'cpp'
77

88
class FreeFEM < Cpp
99
title "FreeFEM"

0 commit comments

Comments
 (0)