class Crystalline::Project

Defined in:

crystalline/project.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(root_uri : URI) #

[View source]

Class Method Detail

def self.best_fit_for_file(projects : Array(Project), file_uri : URI) : Project | Nil #

Finds the best-fitting project to use for the given file.


[View source]
def self.find_in_workspace_root(workspace_root_uri : URI) : Array(Project) #

Finds and returns an array of all projects in the workspace root.


[View source]

Instance Method Detail

def default_lib_path #

Path to the shards "lib" path for this project.


[View source]
def dependencies : Set(String) #

The dependencies of the project, meaning the list of files required by the compilation target (entry point).


[View source]
def dependencies=(dependencies : Set(String)) #

The dependencies of the project, meaning the list of files required by the compilation target (entry point).


[View source]
def distance_to_dependency(file_uri : URI) : Int32 | Nil #

Finds the path-wise distance to the given file URI. If the file URI is not a dependency of this workspace's entry point, returns nil.


[View source]
def entry_point? : URI | Nil #

Determines the project entry point.


[View source]
def root_uri : URI #

The project root filesystem uri.


[View source]