cmd.IsSet() returns false for all QUICKFILTERFLAGS

For a freshly opened QuickFilter, cmd.IsSet() will return false for all QUICKFILTERFLAGS. After manipulating the open QuickFilter, the tests will return the correct values for the changed properties.

function OnInit(initData) {
    initData.name = 'DevIsSet';
    initData.version = '2026-07-24';
    initData.url = 'https://resource.dopus.com/t/cmd-isset-returns-false-for-all-quickfilterflags/60093';
    initData.desc = 'DevIsSet';
    initData.default_enable = true;
}

function OnAddCommands(addCmdData) {
    var cmd = addCmdData.AddCommand();
    cmd.name = 'DevIsSet';
    cmd.method = 'OnDevIsSet';
    cmd.desc = 'DevIsSet';
    cmd.label = 'DevIsSet';
    cmd.hide = false;
    cmd.icon = 'script';
}

function OnDevIsSet(scriptCmdData) {
    var cmd = scriptCmdData.func.command;
    var tab = scriptCmdData.func.sourcetab;

    cmd.deselect = false;

    DOpus.ClearOutput();

    DOpus.Output('QUICKFILTER:          ' + (tab.quickfilter.filter || '<none>'));
    DOpus.Output('');

    DOpus.Output('QUICKFILTERFLAGS');
    DOpus.Output('');

    DOpus.Output('anywordon:            ' + cmd.IsSet('QUICKFILTERFLAGS=anywordon'));
    DOpus.Output('anywordoff:           ' + cmd.IsSet('QUICKFILTERFLAGS=anywordoff'));
    DOpus.Output('');
    DOpus.Output('evalon:               ' + cmd.IsSet('QUICKFILTERFLAGS=evalon'));
    DOpus.Output('evaloff:              ' + cmd.IsSet('QUICKFILTERFLAGS=evaloff'));
    DOpus.Output('');
    DOpus.Output('flatviewon:           ' + cmd.IsSet('QUICKFILTERFLAGS=flatviewon'));
    DOpus.Output('flatviewoff:          ' + cmd.IsSet('QUICKFILTERFLAGS=flatviewoff'));
    DOpus.Output('');
    DOpus.Output('ignorediacriticson:   ' + cmd.IsSet('QUICKFILTERFLAGS=ignorediacriticson'));
    DOpus.Output('ignorediacriticsoff:  ' + cmd.IsSet('QUICKFILTERFLAGS=ignorediacriticsoff'));
    DOpus.Output('');
    DOpus.Output('ignoreextensionson:   ' + cmd.IsSet('QUICKFILTERFLAGS=ignoreextensionson'));
    DOpus.Output('ignoreextensionsoff:  ' + cmd.IsSet('QUICKFILTERFLAGS=ignoreextensionsoff'));
    DOpus.Output('');
    DOpus.Output('partialon:            ' + cmd.IsSet('QUICKFILTERFLAGS=partialon'));
    DOpus.Output('partialoff:           ' + cmd.IsSet('QUICKFILTERFLAGS=partialoff'));
    DOpus.Output('');
    DOpus.Output('regexpon:             ' + cmd.IsSet('QUICKFILTERFLAGS=regexpon'));
    DOpus.Output('regexpoff:            ' + cmd.IsSet('QUICKFILTERFLAGS=regexpoff'));
    DOpus.Output('');
    DOpus.Output('showdirs:             ' + cmd.IsSet('QUICKFILTERFLAGS=showdirs'));
    DOpus.Output('hidedirs:             ' + cmd.IsSet('QUICKFILTERFLAGS=hidedirs'));
    DOpus.Output('');
    DOpus.Output('showfiles:            ' + cmd.IsSet('QUICKFILTERFLAGS=showfiles'));
    DOpus.Output('hidefiles:            ' + cmd.IsSet('QUICKFILTERFLAGS=hidefiles'));
}

CommandDevIsSet.js.txt

The QUICKFILTERFLAGS argument lets you override the Preferences settings - it's why they have "on" and "off" forms. What that command is reporting is whether any overrides are set - it doesn't actually report the current setting.

I'm not sure if there's currently a way to get that information.

The flags in the QuickFilter object should represent the actual state of the filter flags.

Alright, much easier :slight_smile:

I guess easymode corrresponds to Match any word.

ignoreextensions and ignorediacritics are undocumented but work well.

Is there a flag for Evaluator? I tried eval and a few variations but all of them were undefined.

Not currently, but I've added eval for the next beta.