Skip to content

Comments

feat: add support for loading options from ~/.qrc#157

Merged
natesales merged 1 commit intonatesales:mainfrom
racpast:feat/config-file
Feb 23, 2026
Merged

feat: add support for loading options from ~/.qrc#157
natesales merged 1 commit intonatesales:mainfrom
racpast:feat/config-file

Conversation

@racpast
Copy link
Contributor

@racpast racpast commented Feb 19, 2026

Description

This PR adds support for reading default CLI flags from a .qrc file in the user's home directory ($HOME or %USERPROFILE%), similar to .digrc.

Changes

  • Added loadConfig() in main.go to parse the .qrc file.
  • Prepended the parsed config arguments to the CLI arguments in driver(), ensuring explicit CLI flags still take precedence over the config file.
  • Supported basic line-by-line flags and # or ; comments.

Verification

PS K:\q> cat ~\.qrc
+stats

PS K:\q> .\q.exe example.com -s 8.8.8.8
example.com. 5m TXT "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com. 5m TXT "v=spf1 -all"
Stats:
Received 131 B from 8.8.8.8:53 in 1.0355s (13:20:24 02-19-2026 CST)
Opcode: QUERY Status: NOERROR ID 30595: Flags: qr rd ra (1 Q 2 A 0 N 1 E)
Stats:
Received 130 B from 8.8.8.8:53 in 1.0355s (13:20:24 02-19-2026 CST)
Opcode: QUERY Status: NOERROR ID 59012: Flags: qr rd ra (1 Q 0 A 1 N 1 E)
example.com. 5m A 104.18.26.120
example.com. 5m A 104.18.27.120
Stats:
Received 94 B from 8.8.8.8:53 in 1.0355s (13:20:24 02-19-2026 CST)
Opcode: QUERY Status: NOERROR ID 1356: Flags: qr rd ra (1 Q 2 A 0 N 1 E)
example.com. 4m54s AAAA 2606:4700::6812:1a78
example.com. 4m54s AAAA 2606:4700::6812:1b78
Stats:
Received 118 B from 8.8.8.8:53 in 1.0355s (13:20:24 02-19-2026 CST)
Opcode: QUERY Status: NOERROR ID 40537: Flags: qr rd ra (1 Q 2 A 0 N 1 E)
example.com. 4h13m43s NS elliott.ns.cloudflare.com.
example.com. 4h13m43s NS hera.ns.cloudflare.com.
Stats:
Received 137 B from 8.8.8.8:53 in 1.0355s (13:20:24 02-19-2026 CST)
Opcode: QUERY Status: NOERROR ID 12861: Flags: qr rd ra (1 Q 2 A 0 N 1 E)
example.com. 2m25s MX 0 .
Stats:
Received 66 B from 8.8.8.8:53 in 1.0355s (13:20:24 02-19-2026 CST)
Opcode: QUERY Status: NOERROR ID 48800: Flags: qr rd ra (1 Q 1 A 0 N 1 E)

PS K:\q> .\q.exe example.com -s 8.8.8.8 +nostats
example.com. 5m A 104.18.26.120
example.com. 5m A 104.18.27.120
example.com. 1m10s AAAA 2606:4700::6812:1a78
example.com. 1m10s AAAA 2606:4700::6812:1b78
example.com. 6h NS elliott.ns.cloudflare.com.
example.com. 6h NS hera.ns.cloudflare.com.
example.com. 2m15s MX 0 .
example.com. 5m TXT "_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
example.com. 5m TXT "v=spf1 -all"

Related Issues

Fixes #125


Summary by cubic

Add support for reading default CLI flags from a .qrc file in the user’s home directory. This lets users set persistent defaults while keeping explicit CLI flags in control.

  • New Features
    • Load ~/.qrc (or %USERPROFILE%.qrc) and prepend parsed flags to argv to preserve precedence.
    • Support whitespace-separated flags per line; ignore blank lines and lines starting with # or ;.
    • Add debug/warn logs for load and read errors, and when options are loaded.

Written for commit 7de9545. Summary will update on new commits.

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

@natesales natesales merged commit d57b6cd into natesales:main Feb 23, 2026
2 of 3 checks passed
@racpast racpast deleted the feat/config-file branch February 24, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhancement: Save options in $HOME or %USERPROFILE% as .qrc

2 participants