27 lines
		
	
	
		
			733 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			733 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| module HamlLint
 | |
|   # Bans the usage of “•” (bullet) in HTML/HAML in favor of “·” (middle dot) in anything that will end up as a text node. (including string literals in Ruby code)
 | |
|   class Linter::MiddleDot < Linter
 | |
|     include LinterRegistry
 | |
| 
 | |
|     # rubocop:disable Style/MiddleDot
 | |
|     BULLET = '•'
 | |
|     # rubocop:enable Style/MiddleDot
 | |
|     MIDDLE_DOT = '·'
 | |
|     MESSAGE = "Use '#{MIDDLE_DOT}' (middle dot) instead of '#{BULLET}' (bullet)".freeze
 | |
| 
 | |
|     def visit_plain(node)
 | |
|       return unless node.text.include?(BULLET)
 | |
| 
 | |
|       record_lint(node, MESSAGE)
 | |
|     end
 | |
| 
 | |
|     def visit_script(node)
 | |
|       return unless node.script.include?(BULLET)
 | |
| 
 | |
|       record_lint(node, MESSAGE)
 | |
|     end
 | |
|   end
 | |
| end
 |