CLI Settings Commands¶
In CLI mode, settings are managed through two commands: SHOWSETTINGS and SETSETTING.
SHOWSETTINGS Command¶
Display current settings and their values.
Syntax¶
Parameters¶
- filter (optional) - String to filter settings by category or name
Examples¶
Displays all settings:variables.case_conflict = first_wins
variables.show_types_in_window = True
keywords.case_style = force_lower
editor.auto_number = True
editor.auto_number_step = 10
editor.tab_size = 4
editor.show_line_numbers = True
interpreter.strict_mode = False
interpreter.max_execution_time = 30
interpreter.debug_mode = False
ui.theme = default
ui.font_size = 12
editor.auto_number = True
editor.auto_number_step = 10
editor.tab_size = 4
editor.show_line_numbers = True
SETSETTING Command¶
Change a setting value.
Syntax¶
Parameters¶
- key - Setting name (dotted notation, e.g.,
editor.auto_number_step) - value - New value (type must match setting type)
Examples¶
Change Auto-Number Step¶
Now when you type lines without numbers, they'll increment by 100:
Enable/Disable Auto-Numbering¶
Change Keyword Case Style¶
Ok
SETSETTING keywords.case_style force_upper
Setting 'keywords.case_style' = force_upper
Ok
LIST
100 PRINT "Hello"
200 PRINT "World"
Keywords now display in UPPERCASE.
Enable Strict Mode¶
Change Variable Case Conflict Policy¶
Now variable name case mismatches will trigger errors:
Ok
10 TotalCount = 0
Ok
20 TotalCont = 1
?Error: Variable case conflict - 'TotalCont' vs 'TotalCount'
Error Handling¶
Unknown Setting¶
Invalid Value Type¶
Ok
SETSETTING editor.auto_number maybe
?Error: Invalid value for 'editor.auto_number': maybe
Expected type: boolean
Out of Range¶
Ok
SETSETTING editor.auto_number_step 9999
?Error: Invalid value for 'editor.auto_number_step': 9999
Valid range: 1-1000
Invalid Enum Choice¶
Ok
SETSETTING keywords.case_style rainbow
?Error: Invalid value for 'keywords.case_style': rainbow
Choices: force_lower, force_upper, force_capitalize
Settings Persistence¶
Settings changed with SETSETTING are automatically saved to disk and persist across CLI sessions.
Settings file location:
- Linux/Mac: ~/.mbasic/settings.json
- Windows: %APPDATA%\mbasic\settings.json
Available Settings¶
For a complete list of available settings, see Settings System Overview.
Quick Reference¶
| Category | Settings |
|---|---|
| editor | auto_number, auto_number_step, tab_size, show_line_numbers |
| keywords | case_style |
| variables | case_conflict, show_types_in_window |
| interpreter | strict_mode, max_execution_time, debug_mode |
| ui | theme, font_size |
Common Workflows¶
Customize Auto-Numbering¶
' Start at line 1000, increment by 10
SETSETTING editor.auto_number_step 10
SETSETTING editor.auto_number true
' Or start at 100, increment by 100
SETSETTING editor.auto_number_step 100
Configure for Classic BASIC Style¶
' Uppercase keywords, start at 10
SETSETTING keywords.case_style force_upper
SETSETTING editor.auto_number_step 10
Enable All Error Checking¶
Quick Settings Check¶
Tips¶
-
Use tab completion - In some terminal environments, setting names can be tab-completed
-
Check before changing - Use
SHOWSETTINGS <key>to see current value before changing -
Filter by category - Use
SHOWSETTINGS editorto see only related settings -
Test settings - After changing, type a few lines to verify the behavior
-
Document your preferences - Keep a small .bas file with your preferred SETSETTING commands
Example preferences file:
' my-preferences.bas
10 REM My preferred MBASIC settings
20 REM
30 SETSETTING editor.auto_number_step 100
40 SETSETTING keywords.case_style force_upper
50 SETSETTING variables.case_conflict error
60 PRINT "Settings applied!"
Load with: RUN "my-preferences.bas"