Sha256: e087eea1bfec98873495bd5f701f10e8c74c4cb78158a4219e1c0dd7ec9b7c0b

Contents?: true

Size: 1 KB

Versions: 11

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

module PlatformosCheck
  module LanguageServer
    class ThemeRenderDocumentLinkProvider < DocumentLinkProvider
      @partial_regexp = PARTIAL_THEME_RENDER
      @app_file_type = :partials
      @default_dir = 'views/partials'
      @default_extension = '.liquid'

      def file_link(partial, platformos_app)
        relative_path = nil
        path_prefixes(platformos_app).each do |prefix|
          prefix ||= ''
          partial_with_prefix = (prefix.split(File::SEPARATOR) + [partial]).join(File::SEPARATOR)
          relative_path = platformos_app.send(app_file_type).detect { |f| f.name == partial_with_prefix }&.relative_path
          break if relative_path
        end

        relative_path ||= default_relative_path(partial)

        file_uri(@storage.path(relative_path))
      end

      private

      def path_prefixes(platformos_app)
        platformos_app.app_config.content['theme_search_paths'] || ['']
      rescue StandardError
        ['']
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
platformos-check-0.4.9 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.8 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.7 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.6 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.5 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.4 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.3 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.2 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.1 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.4.0 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb
platformos-check-0.3.3 lib/platformos_check/language_server/document_link_providers/theme_render_document_link_provider.rb