X7ROOT File Manager
Current Path:
/opt/alt/ruby32/share/ruby/syntax_suggest
opt
/
alt
/
ruby32
/
share
/
ruby
/
syntax_suggest
/
ðŸ“
..
📄
api.rb
(5.16 KB)
📄
around_block_scan.rb
(6.9 KB)
📄
block_expand.rb
(4.87 KB)
ðŸ“
capture
📄
capture_code_context.rb
(6.67 KB)
📄
clean_document.rb
(8.74 KB)
📄
cli.rb
(3.12 KB)
📄
code_block.rb
(2.13 KB)
📄
code_frontier.rb
(5.62 KB)
📄
code_line.rb
(6.46 KB)
📄
code_search.rb
(3.82 KB)
📄
core_ext.rb
(3 KB)
📄
display_code_with_line_numbers.rb
(1.77 KB)
📄
display_invalid_blocks.rb
(1.75 KB)
📄
explain_syntax.rb
(2.41 KB)
📄
left_right_lex_count.rb
(4.06 KB)
📄
lex_all.rb
(1.12 KB)
📄
lex_value.rb
(1.5 KB)
📄
parse_blocks_from_indent_line.rb
(1.5 KB)
📄
pathname_from_message.rb
(1.42 KB)
📄
priority_engulf_queue.rb
(1.26 KB)
📄
priority_queue.rb
(2 KB)
📄
ripper_errors.rb
(837 B)
📄
scan_history.rb
(2.92 KB)
📄
unvisited_lines.rb
(705 B)
📄
version.rb
(76 B)
Editing: priority_engulf_queue.rb
# frozen_string_literal: true module SyntaxSuggest # Keeps track of what elements are in the queue in # priority and also ensures that when one element # engulfs/covers/eats another that the larger element # evicts the smaller element class PriorityEngulfQueue def initialize @queue = PriorityQueue.new end def to_a @queue.to_a end def empty? @queue.empty? end def length @queue.length end def peek @queue.peek end def pop @queue.pop end def push(block) prune_engulf(block) @queue << block flush_deleted self end private def flush_deleted while @queue&.peek&.deleted? @queue.pop end end private def prune_engulf(block) # If we're about to pop off the same block, we can skip deleting # things from the frontier this iteration since we'll get it # on the next iteration return if @queue.peek && (block <=> @queue.peek) == 1 if block.starts_at != block.ends_at # A block of size 1 cannot engulf another @queue.to_a.each { |b| if b.starts_at >= block.starts_at && b.ends_at <= block.ends_at b.delete true end } end end end end
Upload File
Create Folder