Add a qmark-noglob feature flag

This adds a feature flag for controlling whether question marks are globs.
It is not yet hooked up.
This commit is contained in:
ridiculousfish 2018-04-29 01:57:45 -07:00
parent d3201ad887
commit dc8d603f98
3 changed files with 15 additions and 10 deletions

View file

@ -12,6 +12,7 @@ features_t &mutable_fish_features() { return global_features; }
const features_t::metadata_t features_t::metadata[features_t::flag_count] = { const features_t::metadata_t features_t::metadata[features_t::flag_count] = {
{stderr_nocaret, L"stderr-nocaret", L"3.0", L"^ no longer redirects stderr"}, {stderr_nocaret, L"stderr-nocaret", L"3.0", L"^ no longer redirects stderr"},
{qmark_noglob, L"qmark-noglob", L"3.0", L"? no longer globs"},
}; };
const struct features_t::metadata_t *features_t::metadata_for(const wchar_t *name) { const struct features_t::metadata_t *features_t::metadata_for(const wchar_t *name) {

View file

@ -10,18 +10,21 @@
class features_t { class features_t {
public: public:
/// The list of flags. /// The list of flags.
enum flag_t { enum flag_t {
/// Whether ^ is supported for stderr redirection. /// Whether ^ is supported for stderr redirection.
stderr_nocaret, stderr_nocaret,
/// The number of flags. /// Whether ? is supported as a glob.
flag_count qmark_noglob,
};
/// Return whether a flag is set. /// The number of flags.
bool test(flag_t f) const { flag_count
assert(f >= 0 && f < flag_count && "Invalid flag"); };
return values[f];
/// Return whether a flag is set.
bool test(flag_t f) const {
assert(f >= 0 && f < flag_count && "Invalid flag");
return values[f];
} }
/// Set a flag. /// Set a flag.

View file

@ -5,5 +5,6 @@ test_function
#################### ####################
# Future Feature Flags # Future Feature Flags
stderr-nocaret off 3.0 ^ no longer redirects stderr stderr-nocaret off 3.0 ^ no longer redirects stderr
qmark-noglob off 3.0 ? no longer globs
1 1
2 2