Wipe / Clear all manually set status / labels

I can't seem to locate a method to clear all manually set statuses / labels for a folder and all sub-folders or even to simply wipe all... I'm using the "regex" method of automatically setting most of them so I want to remove the ones I've already set but it doesn't seem possible..

Additionally, the regex isn't regex.. IT doesn't support it properly and I've had to "hack" a solution for it to work... IE there is no carrot / ^ to have it start at the beginning, or character to start at the end, there is no way to use a start and end character with case-insensitive commands, etc.... It seems like a very simple, and very broken, method of pattern integration...

A lot of the patterns end up matching wrong things because I can't use proper regex and I have, again, had to use hacks to patch the problem making the pattern look ugly as hell instead of being able to properly create the pattern as was intended...

It would be nice to have a "non-pattern" method with default selections such as: if file / folder begins with text, if file / folder ends with text, if file has extension, etc...

I am not sure what you mean here. Can you give an example of exactly what you have done, and then what you want to do on top of that?

The regexps definitely are regexps and do support ^ and $ anchors. Again, examples would be best so we can understand what you are doing and seeing.


/^cl_(.).lua/ig --- doesn't match cl_blah.lua or cl_dhsfhkdsj_fksdjhdfkjshdf_skdhfkh.lua but \cl_(.).lua does... I don't recall \ being in the file-name, starting and ending blocks don't matter so you can't set up case in/sensitive searches, etc..

As for the labels, say I changed all files in folder\x\ and in folder\y\ - how do I reset all of those without going into each folder and selecting all then resetting the label... There is no option to include all sub-folders when I highlight all to reset otherwise I could highlight x\ and y\ inside folder\ and reset that way which is what I want to do...

If the config file was human-readable I'm sure it'd be in there which I could simply edit out but for some reason it isn't...

The regular expression inside there is: ^cl_(.*).lua and that will work fine in Opus.

The / ... /lg part surrounding the regular expression is not part of regex syntax. You are using a programming language's syntax for applying regular expression operations and options, which is language-specific and not part of actual regular expressions. It's similar to adding some Perl or JavaScript code and function calls into the regex field and expecting it to work. The regex itself will work, but you need to remove the extra code around it which isn't actually part of the regular expression syntax.

You could use the Find panel to find all files below those folders and/or with the labels you want to clear, then select-all and clear them.

Recursing into selected folders to remove/reset a label from all files, after applying it to individual files (not a wildcard etc.), could be done using a script but isn't built in.

Which config file are we talking about here?

I guess it also depends what you mean by human readable. I can read this one:

<?xml version="1.0" encoding="UTF-8"?> <filecolors> <color bg_sel="#316ac5" bg_unsel="none" class="bakfile" fg_sel="#800080" fg_unsel="#800080" type=".bak" /> </filecolors>

But also note that individually applied labels may be stored in NTFS metadata rather than config files, depending on how you have Opus configured. Storing them in metadata means the labels stay with the files when they are moved or renamed (whether in Opus or in something else), while storing them in the config means the labels always point to a particular path/name (or wildcard etc.) which doesn't move with the file. Both modes are useful for different things, and can be mixed and matched.

If we are talking about labels stored in NTFS metadata then there isn't really a config file at all for you to edit; the data is in the filesystem.

You're right, my mistake, the integration matters; most languages I use allow for starting / ending character to be custom in order to set flags for the entire pattern.. So do you use (?i) or how did you implement flags?

The config file I'm referring to is the one generated by Backup / Restore system; but the find system should work in this case because they're all nested within one project folder. Thank you.

For things like case-sensitivity, there will often be a checkbox next to the regexp field if it's applicable to where the regex is being used.

Other flags like "global" usually don't apply to matching, only search & replace. Search & replace is mainly used in Rename, where there are lots of options and ways to do various things.

It all depends exactly which flags we're talking about, what you want to do with them, and where.

That is a zip archive, if you rename the extension. Inside it are lots of individual config files.

You don't need to create a config backup to look at your config files. If you type /dopusdata it will take you to the main config folder. There's also /dopuslocaldata and /dopusglobaldata but those are generally less interesting. Although we don't generally recommend you edit those things by hand. Also note that Opus caches some config files (but not all) so you may need to edit them when Opus is not running for the changes to take effect.

so I did a few checks...

^_+\w*& should match folders starting with at least 1 underscore and the rest of the text after which can include more underscores... It doesn't work..

I ended up getting rid of ^ because ^ doesn't work ( $ doesn't cause any issues and seems to work ) and tried _+\w*$ and that worked partially because everything was expected at the end, so I removed $ but it matches from the middle of the string... It is expected to match a portion so I was pulling my hair out to see how to match from the start of the string... )

So I did various different patterns all of them should've worked but didn't ( especially if they included ^ )..

This is what I ended up with.. This matches from the beginning ( the (s) ) and then \w at the end to complete the entire string...

This works too: \_+\w*$ and it won't match folders with decimals which is what I wanted... Replacing \w with . for .* will match all and work properly...

so these 4:


Why is it that ^ doesn't work, but \ does? Adding ^ to before \ should also work ( if \folder is the reported path ) but it doesn't...

I'll play around with it some more.. Oh, there seems to be an issue with the forum not showing all of my posts when I search which seems odd....

edit: Light version doesn't have a case sensitivity checkbox.. I did a few tests and it is case-insensitive so that doesn't matter...

But, \ seems to be the equivalent to ^ because I had to use that for all of my other ones too ( where I needed to check the start of a file name )...

All of mine:

AutoHotkey Script Icons

Config File Icons ( text files are used as config in the game I am coding in )

Garry's Mod AcecoolDev_Framework AutoLoader NoLoad / Ignored Files

Garry's Mod AcecoolDev_Framework AutoLoader Client Realm Files

Garry's Mod AcecoolDev_Framework AutoLoader Server Realm Files

Garry's Mod AcecoolDev_Framework AutoLoader Client / Server Realm Files

Lua File Icons ( Move Lua before these 4 lines to have all Lua files grouped together )

Garry's Mod AcecoolDev_Framework AutoLoader Client Realm Folder

Garry's Mod AcecoolDev_Framework AutoLoader Server Realm Folder

Garry's Mod AcecoolDev_Framework AutoLoader Client / Server Realm Folder

Garry's Mod AcecoolDev_Framework AutoLoader Internal Folder ( For documentation, assets, etc... for the user )

All remaining folders so all folders appear at the top of the list when I use the Group-By Label layout...

Note: When changing the order I've noticed that while you can have multiple status icons present, only 1 label is visible..

Note: I did try many different ways to get ".." folder to be grouped automatically using Label Assignments but nothing I did worked... I can't even set it manually... Maybe there is a way to change "Unspecified" to something else to move it to the top...