def merge source
      unless directory == '*' || source_hash.key?(source.filename)
        # Reload the config to determine if a new source should be included
        @config = Solargraph::Workspace::Config.new(directory)
        return false unless config.calculated.include?(source.filename)
      end
      source_hash[source.filename] = source
      true
    end
def merge source
      unless directory == '*' || source_hash.key?(source.filename)
        # Reload the config to determine if a new source should be included
        @config = Solargraph::Workspace::Config.new(directory)
        return false unless config.calculated.include?(source.filename)
      end
      source_hash[source.filename] = source
      true
    end
Merge the source. A merge will update the existing source for the file
 or add it to the sources if the workspace is configured to include it.
 The source is ignored if the configuration excludes it.

 @param source [Solargraph::Source]
 @return [Boolean] True if the source was added to the workspace