GlobalAvailConfiguration

interface GlobalAvailConfiguration : JSONFriendly

The interface that defines the state expected of the configuration for the Avail environment on a specific machine. This data is stored in the AvailEnvironment.availHome directory in the file avail-global-config.json.

Author

Richard Arriaga

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open fun add(project: AvailProject, path: String)

Add the provided AvailProject to this GlobalAvailConfiguration as a KnownAvailProject.

Link copied to clipboard
open fun addAllDefaultTemplates()

Add all the defaultTemplates to the globalTemplates. This will have the effect of replacing any globalTemplates with the same template name as a default template. Otherwise, all previous globalTemplates that don't share a name with one of the defaultTemplates will remain the same.

Link copied to clipboard
open fun removeProject(id: String)

Remove the KnownAvailProject with the given KnownAvailProject.id.

Link copied to clipboard
open fun resetToDefaultTemplates()

Reset the globalTemplates to the default. This clears all current globalTemplates before adding back the defaultTemplates.

Link copied to clipboard
open fun saveToDisk()

Write this GlobalAvailConfiguration to disk.

Link copied to clipboard
abstract fun writeTo(writer: JSONWriter)

Properties

Link copied to clipboard
abstract var defaultStandardLibrary: String?

The path to the default Avail standard library to be used in projects or null if none set.

Link copied to clipboard
abstract var favorite: String?

The KnownAvailProject.id of the project marked to be opened automatically at launch bypassing the AvailProjectManagerWindow or null if only the AvailProjectManagerWindow should be opened.

Link copied to clipboard
open val fileContent: String

The String contents of this GlobalAvailConfiguration that can be written to disk.

Link copied to clipboard
abstract val globalTemplates: MutableMap<String, String>

The default available templates that should be available when editing Avail source modules in the workbench, as a map from template names (corresponding to user inputs) to template expansions. Zero or one caret insertion (⁁) may appear in each expansion.

Link copied to clipboard
abstract val knownProjects: MutableSet<KnownAvailProject>

The set of KnownAvailProjects.

Link copied to clipboard
open val knownProjectsByAlphaAscending: List<KnownAvailProject>

The knownProjects sorted by KnownAvailProject.name in ascending alphabetical order.

Link copied to clipboard
open val knownProjectsByAlphaDescending: List<KnownAvailProject>

The knownProjects sorted by KnownAvailProject.name in descending alphabetical order.

Link copied to clipboard
open val knownProjectsByLastOpenedAscending: List<KnownAvailProject>

The knownProjects sorted by KnownAvailProject.lastOpened in ascending order.

Link copied to clipboard
open val knownProjectsByLastOpenedDescending: List<KnownAvailProject>

The knownProjects sorted by KnownAvailProject.lastOpened in descending order.

Link copied to clipboard
abstract val serializationVersion: Int

The serialization version of this GlobalAvailConfiguration which represents the structure of the JSONFriendly-based configuration file that represents this GlobalAvailConfiguration.

Inheritors

Link copied to clipboard