module Noir::CLI::ConfigCommand

Overview

noir config <show|edit|init|path>

Managed resource: the user-level YAML configuration file.

Defined in:

cli/commands/config.cr

Constant Summary

ACTIONS = ["show", "edit", "init", "path"] of ::String

Class Method Summary

Class Method Detail

def self.config_path : String #

[View source]
def self.default_editor : String #

[View source]
def self.detect_legacy_keys(content : String) : Hash(String, String) #

Pure helper — given a config file's body, returns the v0 keys present in it as {old_key => v1_key}. Pulled out so the detection rule can be exercised without going through STDERR.


[View source]
def self.edit #

[View source]
def self.init #

[View source]
def self.pick_editor : String #

Resolution order: $VISUAL, $EDITOR, then a platform default. Empty/whitespace values are treated as unset so a stray empty EDITOR= doesn't trap .edit into running an empty command. Public for unit-test reach.


[View source]
def self.print_help #

[View source]
def self.run(argv : Array(String)) #

[View source]
def self.show #

[View source]
def self.warn_about_legacy_keys(content : String, io : IO = STDERR) #

Emit a stderr hint when v0 deliver/probe keys are present in the config file. The keys keep working (the migration runs at scan time), but a user running noir config show to verify their settings would otherwise see the raw v0 names and wonder why the v1 documentation doesn't match what's on disk.


[View source]