List all installed packages

Introduced properties

init defaultinit(all_commands: Map[String, Command])

nitc :: CommandList :: defaultinit

Redefined properties

redef type SELF: CommandList

nitc $ CommandList :: SELF

Type of this instance, automatically specialized in every class
redef fun apply(args: Array[String])

nitc $ CommandList :: apply

Apply this command consiering the args that follow
redef fun description: String

nitc $ CommandList :: description

Command description
redef fun name: String

nitc $ CommandList :: name

Short name of the command, specified in the command line
redef fun usage: String

nitc $ CommandList :: usage

Short usage description

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
private fun all_commands=(all_commands: Map[String, Command])

nitc :: Command :: all_commands=

fun apply(args: Array[String])

nitc :: Command :: apply

Apply this command consiering the args that follow
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
init defaultinit(all_commands: Map[String, Command])

nitc :: Command :: defaultinit

init defaultinit(all_commands: Map[String, Command])

nitc :: CommandList :: defaultinit

abstract fun description: String

nitc :: Command :: description

Command description
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
abstract fun name: String

nitc :: Command :: name

Short name of the command, specified in the command line
private intern fun native_class_name: CString

core :: Object :: native_class_name

The class name of the object in CString format.
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun print_local_help

nitc :: Command :: print_local_help

Print the help message for this command
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
abstract fun usage: String

nitc :: Command :: usage

Short usage description
package_diagram nitc::CommandList CommandList nitc::Command Command nitc::CommandList->nitc::Command core::Object Object nitc::Command->core::Object ...core::Object ... ...core::Object->core::Object

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

abstract class Command

nitc :: Command

Command line action, passed after nitpm

Class definitions

nitc $ CommandList
# List all installed packages
class CommandList
	super Command

	redef fun name do return "list"
	redef fun usage do return "nitpm list"
	redef fun description do return "List installed packages"

	redef fun apply(args)
	do
		var files = nitpm_lib_dir.files
		var name_to_desc = new Map[String, nullable String]
		var max_name_len = 0

		# Collect package info
		for file in files do
			var ini_path = nitpm_lib_dir / file / "package.ini"
			if verbose then print "- Reading ini file at {ini_path}"
			var ini = new IniFile.from_file(ini_path)
			var tags = ini["package.tags"]

			name_to_desc[file] = tags
			max_name_len = max_name_len.max(file.length)
		end

		# Sort in alphabetical order
		var sorted_names = name_to_desc.keys.to_a
		alpha_comparator.sort sorted_names

		# Print with clear columns
		for name in sorted_names do
			var col0 = name.justify(max_name_len+1, 0.0)
			var col1 = name_to_desc[name] or else ""
			var line = col0 + col1
			print line.trim
		end
	end
end
src/nitpm.nit:305,1--342,3