Sha256: 71395c898d2bab0db17a416efb74e2c1d95bfb59e69aacfc245badd964425e8e

Contents?: true

Size: 1.2 KB

Versions: 38

Compression:

Stored size: 1.2 KB

Contents

module Redcar
  class Snippets
    class Explorer < FilterListDialog
      def initialize(document)
        @document = document
        super()
      end
      
      def update_list(query)
        return [] if query == ""
        matching_snippets = filter_and_rank_by(all_snippets, query, 1000) do |s| 
          display(s)
        end
        current_scope = Redcar.update_gui { @document.cursor_scope }
        @last_list = matching_snippets.select do |snippet|
          if snippet.scope
            !!JavaMateView::ScopeMatcher.get_match(snippet.scope, current_scope)
          else
            true
          end
        end
        @last_list.map {|s| display(s) }
      end
      
      def selected(_, ix)
        if @last_list
          close
          insert_snippet(@last_list[ix])
        end
      end
      
      private
      
      def display(snippet)
        "#{snippet.bundle_name} / #{snippet.name} (#{snippet.tab_trigger}↦)"
      end
      
      def all_snippets
        Snippets.registry.snippets
      end
      
      def insert_snippet(snippet)
        controller = @document.controllers(Snippets::DocumentController).first
        controller.start_snippet!(snippet)
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 2 rubygems

Version Path
redcar-0.13 plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.13.5dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.13.4dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.13.3dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.13.2dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.13.1dev plugins/snippets/lib/snippets/explorer.rb
redcar-0.12.1 plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.13.0dev plugins/snippets/lib/snippets/explorer.rb
redcar-0.12 plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.27dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.26dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.25dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.24dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.23dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.22dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.21dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.20dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.19dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.18dev plugins/snippets/lib/snippets/explorer.rb
redcar-dev-0.12.17dev plugins/snippets/lib/snippets/explorer.rb