make version info available
This commit is contained in:
parent
e008a45cf7
commit
4178308e96
@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Builtin function documentation generation from C++ Musique implementation source code
|
- Builtin function documentation generation from C++ Musique implementation source code
|
||||||
- New builtins: digits
|
- New builtins: digits
|
||||||
- Negative numbers!
|
- Negative numbers!
|
||||||
|
- Version command via `:version` in REPL or `--version`, `-v` in command line.
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
|
13
config.mk
13
config.mk
@ -1,7 +1,18 @@
|
|||||||
MAKEFLAGS="-j $(grep -c ^processor /proc/cpuinfo)"
|
MAKEFLAGS="-j $(grep -c ^processor /proc/cpuinfo)"
|
||||||
|
|
||||||
|
MAJOR := 0
|
||||||
|
MINOR := 3
|
||||||
|
PATCH := 1
|
||||||
|
COMMIT := gc$(shell git rev-parse --short HEAD 2>/dev/null)
|
||||||
|
|
||||||
|
ifeq ($(COMMIT),gc)
|
||||||
|
COMMIT = "gcunknown"
|
||||||
|
endif
|
||||||
|
|
||||||
|
VERSION := $(MAJOR).$(MINOR).$(PATCH)-dev+$(COMMIT)
|
||||||
|
|
||||||
CXXFLAGS:=$(CXXFLAGS) -std=c++20 -Wall -Wextra -Werror=switch -Werror=return-type -Werror=unused-result
|
CXXFLAGS:=$(CXXFLAGS) -std=c++20 -Wall -Wextra -Werror=switch -Werror=return-type -Werror=unused-result
|
||||||
CPPFLAGS:=$(CPPFLAGS) -Ilib/expected/ -I. -Ilib/bestline/ -Ilib/rtmidi/
|
CPPFLAGS:=$(CPPFLAGS) -Ilib/expected/ -I. -Ilib/bestline/ -Ilib/rtmidi/ -DMusique_Version='"$(VERSION)"'
|
||||||
LDFLAGS=-flto
|
LDFLAGS=-flto
|
||||||
LDLIBS= -lpthread
|
LDLIBS= -lpthread
|
||||||
|
|
||||||
|
@ -84,6 +84,9 @@ static T pop(std::span<char const*> &span)
|
|||||||
" --ast\n"
|
" --ast\n"
|
||||||
" prints ast for given code\n"
|
" prints ast for given code\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
" -v,--version\n"
|
||||||
|
" prints Musique interpreter version\n"
|
||||||
|
"\n"
|
||||||
"Thanks to:\n"
|
"Thanks to:\n"
|
||||||
" Sy Brand, https://sybrand.ink/, creator of tl::expected https://github.com/TartanLlama/expected\n"
|
" Sy Brand, https://sybrand.ink/, creator of tl::expected https://github.com/TartanLlama/expected\n"
|
||||||
" Justine Tunney, https://justinetunney.com, creator of bestline readline library https://github.com/jart/bestline\n"
|
" Justine Tunney, https://justinetunney.com, creator of bestline readline library https://github.com/jart/bestline\n"
|
||||||
@ -289,6 +292,12 @@ static Result<bool> handle_repl_session_commands(std::string_view input, Runner
|
|||||||
std::exit(0);
|
std::exit(0);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Command { "version",
|
||||||
|
+[](Runner&, std::optional<std::string_view>) -> std::optional<Error> {
|
||||||
|
std::cout << Musique_Version << std::endl;
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
},
|
||||||
Command { "clear",
|
Command { "clear",
|
||||||
+[](Runner&, std::optional<std::string_view>) -> std::optional<Error> {
|
+[](Runner&, std::optional<std::string_view>) -> std::optional<Error> {
|
||||||
std::cout << "\x1b[1;1H\x1b[2J" << std::flush;
|
std::cout << "\x1b[1;1H\x1b[2J" << std::flush;
|
||||||
@ -424,6 +433,11 @@ static std::optional<Error> Main(std::span<char const*> args)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (arg == "--version" || arg == "-v") {
|
||||||
|
std::cout << Musique_Version << std::endl;
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
if (arg == "-o" || arg == "--output") {
|
if (arg == "-o" || arg == "--output") {
|
||||||
if (args.empty()) {
|
if (args.empty()) {
|
||||||
std::cerr << "musique: error: option " << arg << " requires an argument" << std::endl;
|
std::cerr << "musique: error: option " << arg << " requires an argument" << std::endl;
|
||||||
|
Loading…
Reference in New Issue
Block a user