Skip to main content

sherlock_io/patterns/
dotnet.rs

1use regex::Regex;
2
3pub struct DotnetPatterns {
4    external_patterns: Vec<Regex>,
5    cache_patterns: Vec<Regex>,
6    extensions: Vec<String>,
7}
8
9impl DotnetPatterns {
10    pub fn new() -> Self {
11        let external_patterns = vec![
12            // Build outputs
13            Regex::new(r"bin/").unwrap(),
14            Regex::new(r"obj/").unwrap(),
15            
16            // Compiled assemblies
17            Regex::new(r"\.dll$").unwrap(),
18            Regex::new(r"\.exe$").unwrap(),
19            Regex::new(r"\.pdb$").unwrap(),
20            Regex::new(r"\.lib$").unwrap(),
21            Regex::new(r"\.exp$").unwrap(),
22            Regex::new(r"\.ilk$").unwrap(),
23            
24            // Package management
25            Regex::new(r"packages/").unwrap(),
26            Regex::new(r"\.nuget/").unwrap(),
27            Regex::new(r"\.nupkg$").unwrap(),
28            Regex::new(r"\.snupkg$").unwrap(),
29            
30            // Testing outputs
31            Regex::new(r"TestResults/").unwrap(),
32            Regex::new(r"\.trx$").unwrap(),
33            Regex::new(r"\.coverage$").unwrap(),
34            Regex::new(r"\.coveragexml$").unwrap(),
35            
36            // IDE generated files
37            Regex::new(r"\.vs/").unwrap(),
38            Regex::new(r"\.vscode/").unwrap(),
39            Regex::new(r"\.idea/").unwrap(),
40            Regex::new(r"\.suo$").unwrap(),
41            Regex::new(r"\.user$").unwrap(),
42            Regex::new(r"\.userosscache$").unwrap(),
43            Regex::new(r"\.sln\.docstates$").unwrap(),
44            
45            // Publish outputs
46            Regex::new(r"publish/").unwrap(),
47            Regex::new(r"\.publish/").unwrap(),
48            Regex::new(r"PublishProfiles/").unwrap(),
49            
50            // ASP.NET
51            Regex::new(r"wwwroot/").unwrap(),
52            Regex::new(r"\.publish\.xml$").unwrap(),
53            
54            // Entity Framework
55            Regex::new(r"Migrations/").unwrap(),
56            
57            // Xamarin
58            Regex::new(r"\.dSYM/").unwrap(),
59            Regex::new(r"\.app/").unwrap(),
60            Regex::new(r"\.ipa$").unwrap(),
61            Regex::new(r"\.apk$").unwrap(),
62            
63            // Unity
64            Regex::new(r"Library/").unwrap(),
65            Regex::new(r"Temp/").unwrap(),
66            Regex::new(r"\.tmp$").unwrap(),
67            
68            // Resharper
69            Regex::new(r"_ReSharper").unwrap(),
70            Regex::new(r"\.resharper").unwrap(),
71            
72            // dotCover
73            Regex::new(r"\.dotCover$").unwrap(),
74            
75            // NCrunch
76            Regex::new(r"\.ncrunch").unwrap(),
77            Regex::new(r"_NCrunch_").unwrap(),
78            
79            // MightyMoose
80            Regex::new(r"\.mm\.").unwrap(),
81            Regex::new(r"AutoTest\.Net/").unwrap(),
82            
83            // Web deploy package
84            Regex::new(r"\.zip$").unwrap(),
85            
86            // Backup files
87            Regex::new(r"\.bak$").unwrap(),
88            Regex::new(r"\.cache$").unwrap(),
89            
90            // StyleCop
91            Regex::new(r"StyleCopReport\.xml$").unwrap(),
92            
93            // Files built by Visual Studio
94            Regex::new(r"\.pidb$").unwrap(),
95            Regex::new(r"\.svclog$").unwrap(),
96            Regex::new(r"\.scc$").unwrap(),
97            
98            // Chutzpah Test files
99            Regex::new(r"_Chutzpah").unwrap(),
100            
101            // Visual C++ cache files
102            Regex::new(r"ipch/").unwrap(),
103            Regex::new(r"\.aps$").unwrap(),
104            Regex::new(r"\.ncb$").unwrap(),
105            Regex::new(r"\.opendb$").unwrap(),
106            Regex::new(r"\.opensdf$").unwrap(),
107            Regex::new(r"\.sdf$").unwrap(),
108            Regex::new(r"\.cachefile$").unwrap(),
109            Regex::new(r"\.VC\.db$").unwrap(),
110            Regex::new(r"\.VC\.VC\.opendb$").unwrap(),
111            
112            // Visual Studio profiler
113            Regex::new(r"\.psess$").unwrap(),
114            Regex::new(r"\.vsp$").unwrap(),
115            Regex::new(r"\.vspx$").unwrap(),
116            Regex::new(r"\.sap$").unwrap(),
117            
118            // TFS 2012 Local Workspace
119            Regex::new(r"\$tf/").unwrap(),
120            
121            // Guidance Automation Toolkit
122            Regex::new(r"\.gpState$").unwrap(),
123            
124            // ReSharper is a .NET coding add-in
125            Regex::new(r"_ReSharper\.Caches/").unwrap(),
126            
127            // TeamCity is a build add-in
128            Regex::new(r"\.teamcity/").unwrap(),
129            
130            // DotCover is a Code Coverage Tool
131            Regex::new(r"\.dotCover$").unwrap(),
132            
133            // Visual Studio code coverage results
134            Regex::new(r"\.coverage$").unwrap(),
135            Regex::new(r"\.coveragexml$").unwrap(),
136            
137            // NCrunch
138            Regex::new(r"\.ncrunch").unwrap(),
139            Regex::new(r"_NCrunch_").unwrap(),
140            
141            // MightyMoose
142            Regex::new(r"\.mm\.").unwrap(),
143            Regex::new(r"AutoTest\.Net/").unwrap(),
144            
145            // Installshield output folder
146            Regex::new(r"Express/").unwrap(),
147            
148            // DocProject is a documentation generator add-in
149            Regex::new(r"DocProject/buildhelp/").unwrap(),
150            Regex::new(r"DocProject/Help/").unwrap(),
151            Regex::new(r"DocProject/Help/Html2/").unwrap(),
152            Regex::new(r"DocProject/Help/html/").unwrap(),
153            
154            // Click-Once directory
155            Regex::new(r"publish/").unwrap(),
156            
157            // Publish Web Output
158            Regex::new(r"\.Publish\.xml$").unwrap(),
159            
160            // Windows Azure Build Output
161            Regex::new(r"csx/").unwrap(),
162            Regex::new(r"\.build\.csdef$").unwrap(),
163            
164            // Windows Store app package directory
165            Regex::new(r"AppPackages/").unwrap(),
166            
167            // Others
168            Regex::new(r"\.Cache$").unwrap(),
169            Regex::new(r"ClientBin/").unwrap(),
170            Regex::new(r"\[Ss\]tyle[Cc]op\.\*$").unwrap(),
171            Regex::new(r"~\$").unwrap(),
172            Regex::new(r"\.dbmdl$").unwrap(),
173            Regex::new(r"\.dbproj\.schemaview$").unwrap(),
174            Regex::new(r"\.pfx$").unwrap(),
175            Regex::new(r"\.publishsettings$").unwrap(),
176            Regex::new(r"orleans\.codegen\.cs$").unwrap(),
177            
178            // RIA/Silverlight projects
179            Regex::new(r"Generated_Code/").unwrap(),
180            
181            // Backup & report files from converting an old project file
182            Regex::new(r"_UpgradeReport_Files/").unwrap(),
183            Regex::new(r"Backup").unwrap(),
184            Regex::new(r"UpgradeLog").unwrap(),
185            
186            // SQL Server files
187            Regex::new(r"\.mdf$").unwrap(),
188            Regex::new(r"\.ldf$").unwrap(),
189            
190            // Business Intelligence projects
191            Regex::new(r"\.rdl\.data$").unwrap(),
192            Regex::new(r"\.bim\.layout$").unwrap(),
193            Regex::new(r"\.bim_").unwrap(),
194            
195            // Microsoft Fakes
196            Regex::new(r"FakesAssemblies/").unwrap(),
197            
198            // GhostDoc plugin setting file
199            Regex::new(r"\.GhostDoc\.xml$").unwrap(),
200            
201            // Node.js Tools for Visual Studio
202            Regex::new(r"\.ntvs_analysis\.dat$").unwrap(),
203            Regex::new(r"\.ntvs_analysis\.dat\.tmp$").unwrap(),
204            
205            // Visual Studio 6 build log
206            Regex::new(r"\.plg$").unwrap(),
207            
208            // Visual Studio 6 workspace options file
209            Regex::new(r"\.opt$").unwrap(),
210            
211            // Visual Studio 6 auto-generated workspace file
212            Regex::new(r"\.vbw$").unwrap(),
213            
214            // Visual Studio LightSwitch build output
215            Regex::new(r"\.HTMLClient/GeneratedArtifacts/").unwrap(),
216            Regex::new(r"\.DesktopClient/GeneratedArtifacts/").unwrap(),
217            Regex::new(r"\.DesktopClient/ModelManifest\.xml$").unwrap(),
218            Regex::new(r"\.Server/GeneratedArtifacts/").unwrap(),
219            Regex::new(r"\.Server/ModelManifest\.xml$").unwrap(),
220            Regex::new(r"_Pvt_Extensions/").unwrap(),
221            
222            // Paket dependency manager
223            Regex::new(r"\.paket/").unwrap(),
224            Regex::new(r"paket-files/").unwrap(),
225            
226            // FAKE - F# Make
227            Regex::new(r"\.fake/").unwrap(),
228            
229            // JetBrains Rider
230            Regex::new(r"\.idea/").unwrap(),
231            
232            // CodeRush
233            Regex::new(r"\.cr/").unwrap(),
234            
235            // Python Tools for Visual Studio (PTVS)
236            Regex::new(r"__pycache__/").unwrap(),
237            Regex::new(r"\.pyc$").unwrap(),
238            
239            // Cake - Uncomment if you are using it
240            Regex::new(r"tools/").unwrap(),
241            
242            // Tabs Studio
243            Regex::new(r"\.tss$").unwrap(),
244            
245            // Telerik's JustMock configuration file
246            Regex::new(r"\.jmconfig$").unwrap(),
247            
248            // BizTalk build output
249            Regex::new(r"\.btp\.cs$").unwrap(),
250            Regex::new(r"\.btm\.cs$").unwrap(),
251            Regex::new(r"\.odx\.cs$").unwrap(),
252            Regex::new(r"\.xsd\.cs$").unwrap(),
253            
254            // OpenCover UI analysis results
255            Regex::new(r"OpenCover/").unwrap(),
256            
257            // Azure Stream Analytics local run output
258            Regex::new(r"ASALocalRun/").unwrap(),
259            
260            // MSBuild Binary and Structured Log
261            Regex::new(r"\.binlog$").unwrap(),
262            
263            // NVidia Nsight GPU debugger configuration file
264            Regex::new(r"\.nvuser$").unwrap(),
265            
266            // MFractors (Xamarin productivity tool) working folder
267            Regex::new(r"\.mfractor/").unwrap(),
268        ];
269
270        let cache_patterns = vec![
271            // NuGet caches
272            Regex::new(r"\.nuget/packages/").unwrap(),
273            Regex::new(r"\.nuget/v3-cache/").unwrap(),
274            Regex::new(r"\.nuget/tmp-cache/").unwrap(),
275            
276            // MSBuild caches
277            Regex::new(r"obj/").unwrap(),
278            Regex::new(r"\.vs/").unwrap(),
279            
280            // Visual Studio caches
281            Regex::new(r"\.vscode/").unwrap(),
282            Regex::new(r"\.idea/").unwrap(),
283            
284            // ReSharper caches
285            Regex::new(r"_ReSharper\.Caches/").unwrap(),
286            
287            // dotCover caches
288            Regex::new(r"\.dotCover$").unwrap(),
289            
290            // NCrunch caches
291            Regex::new(r"\.ncrunch").unwrap(),
292            Regex::new(r"_NCrunch_").unwrap(),
293            
294            // Test caches
295            Regex::new(r"TestResults/").unwrap(),
296            
297            // Temporary files
298            Regex::new(r"\.tmp$").unwrap(),
299            Regex::new(r"\.cache$").unwrap(),
300            
301            // Publish caches
302            Regex::new(r"\.publish/").unwrap(),
303            
304            // Entity Framework caches
305            Regex::new(r"\.ef/").unwrap(),
306            
307            // Xamarin caches
308            Regex::new(r"\.dSYM/").unwrap(),
309            
310            // Unity caches
311            Regex::new(r"Library/").unwrap(),
312            Regex::new(r"Temp/").unwrap(),
313            
314            // Paket caches
315            Regex::new(r"\.paket/").unwrap(),
316            
317            // FAKE caches
318            Regex::new(r"\.fake/").unwrap(),
319            
320            // JetBrains Rider caches
321            Regex::new(r"\.idea/").unwrap(),
322            
323            // CodeRush caches
324            Regex::new(r"\.cr/").unwrap(),
325            
326            // Python Tools for Visual Studio caches
327            Regex::new(r"__pycache__/").unwrap(),
328            
329            // Cake caches
330            Regex::new(r"tools/").unwrap(),
331            
332            // OpenCover caches
333            Regex::new(r"OpenCover/").unwrap(),
334            
335            // Azure Stream Analytics caches
336            Regex::new(r"ASALocalRun/").unwrap(),
337            
338            // MFractors caches
339            Regex::new(r"\.mfractor/").unwrap(),
340        ];
341
342        let extensions = vec![
343            // C# files
344            "cs".to_string(), "csx".to_string(),
345            
346            // VB.NET files
347            "vb".to_string(),
348            
349            // F# files
350            "fs".to_string(), "fsx".to_string(), "fsi".to_string(),
351            
352            // Project files
353            "csproj".to_string(), "fsproj".to_string(), "vbproj".to_string(),
354            "vcxproj".to_string(), "vcproj".to_string(),
355            
356            // Solution files
357            "sln".to_string(),
358            
359            // Package files
360            "nuspec".to_string(),
361            
362            // Resource files
363            "resx".to_string(), "resw".to_string(), "resources".to_string(),
364            
365            // Web files
366            "aspx".to_string(), "ascx".to_string(), "asax".to_string(),
367            "ashx".to_string(), "asmx".to_string(),
368            "razor".to_string(), "cshtml".to_string(), "vbhtml".to_string(),
369            
370            // XAML files
371            "xaml".to_string(),
372            
373            // Configuration files
374            "config".to_string(), "settings".to_string(),
375            
376            // Database files
377            "edmx".to_string(), "dbml".to_string(),
378            
379            // Deployment files
380            "targets".to_string(), "props".to_string(),
381            
382            // Assembly info
383            "asm".to_string(),
384            
385            // T4 templates
386            "tt".to_string(), "ttinclude".to_string(),
387            
388            // StyleCop
389            "stylecop".to_string(),
390            
391            // WiX
392            "wxs".to_string(), "wxi".to_string(),
393            
394            // MSBuild
395            "msbuild".to_string(),
396            
397            // PowerShell
398            "ps1".to_string(), "psm1".to_string(), "psd1".to_string(),
399        ];
400
401        Self {
402            external_patterns,
403            cache_patterns,
404            extensions,
405        }
406    }
407
408    pub fn get_external_patterns(&self) -> &[Regex] {
409        &self.external_patterns
410    }
411
412    pub fn get_cache_patterns(&self) -> &[Regex] {
413        &self.cache_patterns
414    }
415
416    pub fn get_extensions(&self) -> &[String] {
417        &self.extensions
418    }
419
420    pub fn get_script_names() -> Vec<&'static str> {
421        vec![
422            // Solution and project files
423            "*.sln", "*.csproj", "*.fsproj", "*.vbproj",
424            "*.vcxproj", "*.vcproj", "*.proj",
425            
426            // Package management
427            "packages.config", "*.nuspec", "nuget.config",
428            "Directory.Build.props", "Directory.Build.targets",
429            "Directory.Packages.props", "global.json",
430            
431            // MSBuild
432            "*.targets", "*.props", "*.tasks",
433            
434            // Configuration files
435            "app.config", "web.config", "machine.config",
436            "appsettings.json", "appsettings.Development.json",
437            "appsettings.Production.json", "appsettings.Staging.json",
438            "launchSettings.json", "bundleconfig.json",
439            
440            // ASP.NET Core
441            "Program.cs", "Startup.cs", "*.razor",
442            "_ViewStart.cshtml", "_ViewImports.cshtml",
443            "_Layout.cshtml", "*.cshtml", "*.vbhtml",
444            
445            // Entity Framework
446            "*.edmx", "*.dbml", "DbContext.cs",
447            
448            // Testing
449            "*.runsettings", "*.testsettings",
450            
451            // Deployment
452            "*.pubxml", "*.wpp.targets", "*.deploy.cmd",
453            "Dockerfile", "docker-compose.yml", "docker-compose.yaml",
454            
455            // CI/CD
456            ".github/workflows/dotnet.yml", ".github/workflows/build.yml",
457            "azure-pipelines.yml", "appveyor.yml",
458            "GitVersion.yml", "version.json",
459            
460            // Code analysis
461            "*.ruleset", "StyleCop.json", "editorconfig",
462            ".editorconfig", "omnisharp.json",
463            
464            // Documentation
465            "README.md", "CHANGELOG.md", "LICENSE",
466            "*.shfbproj", "*.ndoc",
467            
468            // Xamarin
469            "Info.plist", "AndroidManifest.xml",
470            "*.storyboard", "*.xib",
471            
472            // Unity
473            "*.unity", "*.prefab", "*.mat", "*.asset",
474            "ProjectSettings/", "UserSettings/",
475            
476            // WPF/WinForms
477            "*.xaml", "*.resx", "*.settings",
478            
479            // WiX
480            "*.wxs", "*.wxi", "*.wxl",
481            
482            // PowerShell
483            "*.ps1", "*.psm1", "*.psd1",
484            
485            // Azure Functions
486            "host.json", "local.settings.json",
487            "function.json", "proxies.json",
488            
489            // Blazor
490            "_Imports.razor", "App.razor",
491            "MainLayout.razor", "NavMenu.razor",
492            
493            // Service Fabric
494            "ServiceManifest.xml", "ApplicationManifest.xml",
495            
496            // Orleans
497            "*.grain", "*.silo",
498            
499            // Paket
500            "paket.dependencies", "paket.lock",
501            "paket.references", "paket.template",
502            
503            // FAKE
504            "build.fsx", "fake.cmd", "fake.sh",
505            
506            // Cake
507            "build.cake", "cake.config",
508            
509            // BenchmarkDotNet
510            "*.benchmarks",
511            
512            // Roslyn Analyzers
513            "*.analyzer",
514            
515            // Source generators
516            "*.generator",
517            
518            // gRPC
519            "*.proto",
520            
521            // OpenAPI/Swagger
522            "swagger.json", "openapi.json",
523            
524            // SignalR
525            "*.hub",
526            
527            // Minimal APIs
528            "*.endpoints",
529            
530            // Health checks
531            "*.healthchecks",
532            
533            // Background services
534            "*.backgroundservice",
535            
536            // Middleware
537            "*.middleware",
538            
539            // Filters
540            "*.filter",
541            
542            // Custom attributes
543            "*.attribute",
544            
545            // Extension methods
546            "*.extensions",
547            
548            // Converters
549            "*.converter",
550            
551            // Validators
552            "*.validator",
553            
554            // Mappers
555            "*.mapper",
556            
557            // Repositories
558            "*.repository",
559            
560            // Services
561            "*.service",
562            
563            // Controllers
564            "*.controller",
565            
566            // Models
567            "*.model", "*.dto", "*.viewmodel",
568            
569            // Data contexts
570            "*.context",
571            
572            // Migrations
573            "*.migration",
574            
575            // Seeders
576            "*.seeder",
577            
578            // Policies
579            "*.policy",
580            
581            // Handlers
582            "*.handler",
583            
584            // Options
585            "*.options",
586            
587            // Constants
588            "*.constants",
589            
590            // Enums
591            "*.enum",
592            
593            // Interfaces
594            "*.interface",
595            
596            // Abstractions
597            "*.abstraction",
598            
599            // Implementations
600            "*.implementation",
601            
602            // Factories
603            "*.factory",
604            
605            // Builders
606            "*.builder",
607            
608            // Strategies
609            "*.strategy",
610            
611            // Decorators
612            "*.decorator",
613            
614            // Adapters
615            "*.adapter",
616            
617            // Facades
618            "*.facade",
619            
620            // Proxies
621            "*.proxy",
622            
623            // Singletons
624            "*.singleton",
625            
626            // Utilities
627            "*.utility", "*.helper",
628            
629            // Configurations
630            "*.configuration",
631            
632            // Profiles
633            "*.profile",
634            
635            // Specifications
636            "*.specification",
637            
638            // Queries
639            "*.query",
640            
641            // Commands
642            "*.command",
643            
644            // Events
645            "*.event",
646            
647            // Notifications
648            "*.notification",
649            
650            // Requests
651            "*.request",
652            
653            // Responses
654            "*.response",
655            
656            // Results
657            "*.result",
658            
659            // Exceptions
660            "*.exception",
661            
662            // Resources
663            "*.resource",
664            
665            // Localizations
666            "*.localization",
667            
668            // Cultures
669            "*.culture",
670            
671            // Themes
672            "*.theme",
673            
674            // Styles
675            "*.style",
676            
677            // Templates
678            "*.template",
679            
680            // Layouts
681            "*.layout",
682            
683            // Components
684            "*.component",
685            
686            // Directives
687            "*.directive",
688            
689            // Pipes
690            "*.pipe",
691            
692            // Guards
693            "*.guard",
694            
695            // Resolvers
696            "*.resolver",
697            
698            // Interceptors
699            "*.interceptor",
700            
701            // Modules
702            "*.module",
703            
704            // Providers
705            "*.provider",
706            
707            // Injectors
708            "*.injector",
709            
710            // Containers
711            "*.container",
712            
713            // Registrations
714            "*.registration",
715            
716            // Bindings
717            "*.binding",
718            
719            // Scopes
720            "*.scope",
721            
722            // Lifetimes
723            "*.lifetime",
724            
725            // Activators
726            "*.activator",
727            
728            // Disposables
729            "*.disposable",
730            
731            // Finalizers
732            "*.finalizer",
733            
734            // Destructors
735            "*.destructor",
736            
737            // Constructors
738            "*.constructor",
739            
740            // Initializers
741            "*.initializer",
742            
743            // Terminators
744            "*.terminator",
745            
746            // Cleaners
747            "*.cleaner",
748            
749            // Managers
750            "*.manager",
751            
752            // Coordinators
753            "*.coordinator",
754            
755            // Supervisors
756            "*.supervisor",
757            
758            // Monitors
759            "*.monitor",
760            
761            // Watchers
762            "*.watcher",
763            
764            // Observers
765            "*.observer",
766            
767            // Listeners
768            "*.listener",
769            
770            // Subscribers
771            "*.subscriber",
772            
773            // Publishers
774            "*.publisher",
775            
776            // Producers
777            "*.producer",
778            
779            // Consumers
780            "*.consumer",
781            
782            // Processors
783            "*.processor",
784            
785            // Transformers
786            "*.transformer",
787            
788            // Serializers
789            "*.serializer",
790            
791            // Deserializers
792            "*.deserializer",
793            
794            // Encoders
795            "*.encoder",
796            
797            // Decoders
798            "*.decoder",
799            
800            // Compressors
801            "*.compressor",
802            
803            // Decompressors
804            "*.decompressor",
805            
806            // Encryptors
807            "*.encryptor",
808            
809            // Decryptors
810            "*.decryptor",
811            
812            // Hashers
813            "*.hasher",
814            
815            // Signers
816            "*.signer",
817            
818            // Verifiers
819            "*.verifier",
820            
821            // Authenticators
822            "*.authenticator",
823            
824            // Authorizers
825            "*.authorizer",
826            
827            // Identifiers
828            "*.identifier",
829            
830            // Generators
831            "*.generator",
832            
833            // Parsers
834            "*.parser",
835            
836            // Lexers
837            "*.lexer",
838            
839            // Tokenizers
840            "*.tokenizer",
841            
842            // Analyzers
843            "*.analyzer",
844            
845            // Optimizers
846            "*.optimizer",
847            
848            // Compilers
849            "*.compiler",
850            
851            // Interpreters
852            "*.interpreter",
853            
854            // Executors
855            "*.executor",
856            
857            // Runners
858            "*.runner",
859            
860            // Launchers
861            "*.launcher",
862            
863            // Starters
864            "*.starter",
865            
866            // Stoppers
867            "*.stopper",
868            
869            // Pausers
870            "*.pauser",
871            
872            // Resumers
873            "*.resumer",
874            
875            // Resetters
876            "*.resetter",
877            
878            // Refreshers
879            "*.refresher",
880            
881            // Updaters
882            "*.updater",
883            
884            // Deleters
885            "*.deleter",
886            
887            // Creators
888            "*.creator",
889            
890            // Destroyers
891            "*.destroyer",
892            
893            // Builders
894            "*.builder",
895            
896            // Constructors
897            "*.constructor",
898            
899            // Assemblers
900            "*.assembler",
901            
902            // Disassemblers
903            "*.disassembler",
904            
905            // Linkers
906            "*.linker",
907            
908            // Loaders
909            "*.loader",
910            
911            // Unloaders
912            "*.unloader",
913            
914            // Savers
915            "*.saver",
916            
917            // Readers
918            "*.reader",
919            
920            // Writers
921            "*.writer",
922            
923            // Streamers
924            "*.streamer",
925            
926            // Buffers
927            "*.buffer",
928            
929            // Caches
930            "*.cache",
931            
932            // Stores
933            "*.store",
934            
935            // Repositories
936            "*.repository",
937            
938            // Databases
939            "*.database",
940            
941            // Connections
942            "*.connection",
943            
944            // Clients
945            "*.client",
946            
947            // Servers
948            "*.server",
949            
950            // Hosts
951            "*.host",
952            
953            // Guests
954            "*.guest",
955            
956            // Peers
957            "*.peer",
958            
959            // Nodes
960            "*.node",
961            
962            // Clusters
963            "*.cluster",
964            
965            // Networks
966            "*.network",
967            
968            // Protocols
969            "*.protocol",
970            
971            // Channels
972            "*.channel",
973            
974            // Pipes
975            "*.pipe",
976            
977            // Queues
978            "*.queue",
979            
980            // Stacks
981            "*.stack",
982            
983            // Heaps
984            "*.heap",
985            
986            // Trees
987            "*.tree",
988            
989            // Graphs
990            "*.graph",
991            
992            // Lists
993            "*.list",
994            
995            // Arrays
996            "*.array",
997            
998            // Dictionaries
999            "*.dictionary",
1000            
1001            // Maps
1002            "*.map",
1003            
1004            // Sets
1005            "*.set",
1006            
1007            // Collections
1008            "*.collection",
1009            
1010            // Iterators
1011            "*.iterator",
1012            
1013            // Enumerators
1014            "*.enumerator",
1015            
1016            // Comparers
1017            "*.comparer",
1018            
1019            // Equalizers
1020            "*.equalizer",
1021            
1022            // Sorters
1023            "*.sorter",
1024            
1025            // Searchers
1026            "*.searcher",
1027            
1028            // Finders
1029            "*.finder",
1030            
1031            // Matchers
1032            "*.matcher",
1033            
1034            // Filters
1035            "*.filter",
1036            
1037            // Selectors
1038            "*.selector",
1039            
1040            // Projectors
1041            "*.projector",
1042            
1043            // Aggregators
1044            "*.aggregator",
1045            
1046            // Accumulators
1047            "*.accumulator",
1048            
1049            // Reducers
1050            "*.reducer",
1051            
1052            // Folders
1053            "*.folder",
1054            
1055            // Mappers
1056            "*.mapper",
1057            
1058            // Flatteners
1059            "*.flattener",
1060            
1061            // Groupers
1062            "*.grouper",
1063            
1064            // Partitioners
1065            "*.partitioner",
1066            
1067            // Splitters
1068            "*.splitter",
1069            
1070            // Joiners
1071            "*.joiner",
1072            
1073            // Mergers
1074            "*.merger",
1075            
1076            // Combiners
1077            "*.combiner",
1078            
1079            // Concatenators
1080            "*.concatenator",
1081            
1082            // Appenders
1083            "*.appender",
1084            
1085            // Prependers
1086            "*.prepender",
1087            
1088            // Inserters
1089            "*.inserter",
1090            
1091            // Removers
1092            "*.remover",
1093            
1094            // Replacers
1095            "*.replacer",
1096            
1097            // Substituters
1098            "*.substituter",
1099            
1100            // Swappers
1101            "*.swapper",
1102            
1103            // Exchangers
1104            "*.exchanger",
1105            
1106            // Traders
1107            "*.trader",
1108            
1109            // Negotiators
1110            "*.negotiator",
1111            
1112            // Mediators
1113            "*.mediator",
1114            
1115            // Arbitrators
1116            "*.arbitrator",
1117            
1118            // Judges
1119            "*.judge",
1120            
1121            // Evaluators
1122            "*.evaluator",
1123            
1124            // Assessors
1125            "*.assessor",
1126            
1127            // Testers
1128            "*.tester",
1129            
1130            // Validators
1131            "*.validator",
1132            
1133            // Checkers
1134            "*.checker",
1135            
1136            // Verifiers
1137            "*.verifier",
1138            
1139            // Confirmers
1140            "*.confirmer",
1141            
1142            // Approvers
1143            "*.approver",
1144            
1145            // Rejecters
1146            "*.rejecter",
1147            
1148            // Acceptors
1149            "*.acceptor",
1150            
1151            // Deniers
1152            "*.denier",
1153            
1154            // Granters
1155            "*.granter",
1156            
1157            // Revokers
1158            "*.revoker",
1159            
1160            // Enablers
1161            "*.enabler",
1162            
1163            // Disablers
1164            "*.disabler",
1165            
1166            // Activators
1167            "*.activator",
1168            
1169            // Deactivators
1170            "*.deactivator",
1171            
1172            // Triggers
1173            "*.trigger",
1174            
1175            // Schedulers
1176            "*.scheduler",
1177            
1178            // Timers
1179            "*.timer",
1180            
1181            // Clocks
1182            "*.clock",
1183            
1184            // Calendars
1185            "*.calendar",
1186            
1187            // Dates
1188            "*.date",
1189            
1190            // Times
1191            "*.time",
1192            
1193            // Durations
1194            "*.duration",
1195            
1196            // Intervals
1197            "*.interval",
1198            
1199            // Periods
1200            "*.period",
1201            
1202            // Spans
1203            "*.span",
1204            
1205            // Ranges
1206            "*.range",
1207            
1208            // Bounds
1209            "*.bound",
1210            
1211            // Limits
1212            "*.limit",
1213            
1214            // Constraints
1215            "*.constraint",
1216            
1217            // Rules
1218            "*.rule",
1219            
1220            // Policies
1221            "*.policy",
1222            
1223            // Strategies
1224            "*.strategy",
1225            
1226            // Algorithms
1227            "*.algorithm",
1228            
1229            // Heuristics
1230            "*.heuristic",
1231            
1232            // Patterns
1233            "*.pattern",
1234            
1235            // Templates
1236            "*.template",
1237            
1238            // Blueprints
1239            "*.blueprint",
1240            
1241            // Schemas
1242            "*.schema",
1243            
1244            // Specifications
1245            "*.specification",
1246            
1247            // Definitions
1248            "*.definition",
1249            
1250            // Declarations
1251            "*.declaration",
1252            
1253            // Annotations
1254            "*.annotation",
1255            
1256            // Attributes
1257            "*.attribute",
1258            
1259            // Properties
1260            "*.property",
1261            
1262            // Fields
1263            "*.field",
1264            
1265            // Variables
1266            "*.variable",
1267            
1268            // Constants
1269            "*.constant",
1270            
1271            // Parameters
1272            "*.parameter",
1273            
1274            // Arguments
1275            "*.argument",
1276            
1277            // Values
1278            "*.value",
1279            
1280            // Objects
1281            "*.object",
1282            
1283            // Instances
1284            "*.instance",
1285            
1286            // References
1287            "*.reference",
1288            
1289            // Pointers
1290            "*.pointer",
1291            
1292            // Handles
1293            "*.handle",
1294            
1295            // Identifiers
1296            "*.identifier",
1297            
1298            // Keys
1299            "*.key",
1300            
1301            // Tokens
1302            "*.token",
1303            
1304            // Symbols
1305            "*.symbol",
1306            
1307            // Names
1308            "*.name",
1309            
1310            // Labels
1311            "*.label",
1312            
1313            // Tags
1314            "*.tag",
1315            
1316            // Marks
1317            "*.mark",
1318            
1319            // Flags
1320            "*.flag",
1321            
1322            // Indicators
1323            "*.indicator",
1324            
1325            // Signals
1326            "*.signal",
1327            
1328            // Messages
1329            "*.message",
1330            
1331            // Notifications
1332            "*.notification",
1333            
1334            // Alerts
1335            "*.alert",
1336            
1337            // Warnings
1338            "*.warning",
1339            
1340            // Errors
1341            "*.error",
1342            
1343            // Exceptions
1344            "*.exception",
1345            
1346            // Faults
1347            "*.fault",
1348            
1349            // Failures
1350            "*.failure",
1351            
1352            // Problems
1353            "*.problem",
1354            
1355            // Issues
1356            "*.issue",
1357            
1358            // Bugs
1359            "*.bug",
1360            
1361            // Defects
1362            "*.defect",
1363            
1364            // Flaws
1365            "*.flaw",
1366            
1367            // Vulnerabilities
1368            "*.vulnerability",
1369            
1370            // Threats
1371            "*.threat",
1372            
1373            // Risks
1374            "*.risk",
1375            
1376            // Hazards
1377            "*.hazard",
1378            
1379            // Dangers
1380            "*.danger",
1381            
1382            // Perils
1383            "*.peril",
1384            
1385            // Jeopardies
1386            "*.jeopardy",
1387            
1388            // Exposures
1389            "*.exposure",
1390            
1391            // Liabilities
1392            "*.liability",
1393            
1394            // Responsibilities
1395            "*.responsibility",
1396            
1397            // Obligations
1398            "*.obligation",
1399            
1400            // Duties
1401            "*.duty",
1402            
1403            // Tasks
1404            "*.task",
1405            
1406            // Jobs
1407            "*.job",
1408            
1409            // Works
1410            "*.work",
1411            
1412            // Operations
1413            "*.operation",
1414            
1415            // Actions
1416            "*.action",
1417            
1418            // Activities
1419            "*.activity",
1420            
1421            // Processes
1422            "*.process",
1423            
1424            // Procedures
1425            "*.procedure",
1426            
1427            // Methods
1428            "*.method",
1429            
1430            // Functions
1431            "*.function",
1432            
1433            // Routines
1434            "*.routine",
1435            
1436            // Subroutines
1437            "*.subroutine",
1438            
1439            // Modules
1440            "*.module",
1441            
1442            // Components
1443            "*.component",
1444            
1445            // Parts
1446            "*.part",
1447            
1448            // Pieces
1449            "*.piece",
1450            
1451            // Elements
1452            "*.element",
1453            
1454            // Items
1455            "*.item",
1456            
1457            // Entities
1458            "*.entity",
1459            
1460            // Units
1461            "*.unit",
1462            
1463            // Blocks
1464            "*.block",
1465            
1466            // Chunks
1467            "*.chunk",
1468            
1469            // Segments
1470            "*.segment",
1471            
1472            // Sections
1473            "*.section",
1474            
1475            // Divisions
1476            "*.division",
1477            
1478            // Partitions
1479            "*.partition",
1480            
1481            // Regions
1482            "*.region",
1483            
1484            // Areas
1485            "*.area",
1486            
1487            // Zones
1488            "*.zone",
1489            
1490            // Districts
1491            "*.district",
1492            
1493            // Neighborhoods
1494            "*.neighborhood",
1495            
1496            // Communities
1497            "*.community",
1498            
1499            // Societies
1500            "*.society",
1501            
1502            // Groups
1503            "*.group",
1504            
1505            // Teams
1506            "*.team",
1507            
1508            // Crews
1509            "*.crew",
1510            
1511            // Squads
1512            "*.squad",
1513            
1514            // Units
1515            "*.unit",
1516            
1517            // Divisions
1518            "*.division",
1519            
1520            // Departments
1521            "*.department",
1522            
1523            // Sections
1524            "*.section",
1525            
1526            // Branches
1527            "*.branch",
1528            
1529            // Offices
1530            "*.office",
1531            
1532            // Bureaus
1533            "*.bureau",
1534            
1535            // Agencies
1536            "*.agency",
1537            
1538            // Organizations
1539            "*.organization",
1540            
1541            // Institutions
1542            "*.institution",
1543            
1544            // Establishments
1545            "*.establishment",
1546            
1547            // Enterprises
1548            "*.enterprise",
1549            
1550            // Businesses
1551            "*.business",
1552            
1553            // Companies
1554            "*.company",
1555            
1556            // Corporations
1557            "*.corporation",
1558            
1559            // Firms
1560            "*.firm",
1561            
1562            // Partnerships
1563            "*.partnership",
1564            
1565            // Associations
1566            "*.association",
1567            
1568            // Alliances
1569            "*.alliance",
1570            
1571            // Coalitions
1572            "*.coalition",
1573            
1574            // Federations
1575            "*.federation",
1576            
1577            // Unions
1578            "*.union",
1579            
1580            // Leagues
1581            "*.league",
1582            
1583            // Clubs
1584            "*.club",
1585            
1586            // Societies
1587            "*.society",
1588            
1589            // Fraternities
1590            "*.fraternity",
1591            
1592            // Sororities
1593            "*.sorority",
1594            
1595            // Brotherhoods
1596            "*.brotherhood",
1597            
1598            // Sisterhoods
1599            "*.sisterhood",
1600            
1601            // Fellowships
1602            "*.fellowship",
1603            
1604            // Memberships
1605            "*.membership",
1606            
1607            // Citizenships
1608            "*.citizenship",
1609            
1610            // Residencies
1611            "*.residency",
1612            
1613            // Inhabitants
1614            "*.inhabitant",
1615            
1616            // Residents
1617            "*.resident",
1618            
1619            // Occupants
1620            "*.occupant",
1621            
1622            // Tenants
1623            "*.tenant",
1624            
1625            // Renter
1626            "*.renter",
1627            
1628            // Lessee
1629            "*.lessee",
1630            
1631            // Lessor
1632            "*.lessor",
1633            
1634            // Landlord
1635            "*.landlord",
1636            
1637            // Owner
1638            "*.owner",
1639            
1640            // Proprietors
1641            "*.proprietor",
1642            
1643            // Possessors
1644            "*.possessor",
1645            
1646            // Holders
1647            "*.holder",
1648            
1649            // Bearers
1650            "*.bearer",
1651            
1652            // Carriers
1653            "*.carrier",
1654            
1655            // Transporters
1656            "*.transporter",
1657            
1658            // Movers
1659            "*.mover",
1660            
1661            // Shippers
1662            "*.shipper",
1663            
1664            // Senders
1665            "*.sender",
1666            
1667            // Receivers
1668            "*.receiver",
1669            
1670            // Recipients
1671            "*.recipient",
1672            
1673            // Addressees
1674            "*.addressee",
1675            
1676            // Consignees
1677            "*.consignee",
1678            
1679            // Consignors
1680            "*.consignor",
1681            
1682            // Vendors
1683            "*.vendor",
1684            
1685            // Suppliers
1686            "*.supplier",
1687            
1688            // Providers
1689            "*.provider",
1690            
1691            // Distributors
1692            "*.distributor",
1693            
1694            // Dealers
1695            "*.dealer",
1696            
1697            // Retailers
1698            "*.retailer",
1699            
1700            // Wholesalers
1701            "*.wholesaler",
1702            
1703            // Merchants
1704            "*.merchant",
1705            
1706            // Traders
1707            "*.trader",
1708            
1709            // Sellers
1710            "*.seller",
1711            
1712            // Buyers
1713            "*.buyer",
1714            
1715            // Purchasers
1716            "*.purchaser",
1717            
1718            // Customers
1719            "*.customer",
1720            
1721            // Clients
1722            "*.client",
1723            
1724            // Patrons
1725            "*.patron",
1726            
1727            // Consumers
1728            "*.consumer",
1729            
1730            // Users
1731            "*.user",
1732            
1733            // Operators
1734            "*.operator",
1735            
1736            // Administrators
1737            "*.administrator",
1738            
1739            // Managers
1740            "*.manager",
1741            
1742            // Directors
1743            "*.director",
1744            
1745            // Executives
1746            "*.executive",
1747            
1748            // Officers
1749            "*.officer",
1750            
1751            // Officials
1752            "*.official",
1753            
1754            // Authorities
1755            "*.authority",
1756            
1757            // Leaders
1758            "*.leader",
1759            
1760            // Chiefs
1761            "*.chief",
1762            
1763            // Heads
1764            "*.head",
1765            
1766            // Principals
1767            "*.principal",
1768            
1769            // Supervisors
1770            "*.supervisor",
1771            
1772            // Overseers
1773            "*.overseer",
1774            
1775            // Foremen
1776            "*.foreman",
1777            
1778            // Bosses
1779            "*.boss",
1780            
1781            // Employers
1782            "*.employer",
1783            
1784            // Employees
1785            "*.employee",
1786            
1787            // Workers
1788            "*.worker",
1789            
1790            // Laborers
1791            "*.laborer",
1792            
1793            // Staff
1794            "*.staff",
1795            
1796            // Personnel
1797            "*.personnel",
1798            
1799            // Crew
1800            "*.crew",
1801            
1802            // Team
1803            "*.team",
1804            
1805            // Group
1806            "*.group",
1807            
1808            // Squad
1809            "*.squad",
1810            
1811            // Unit
1812            "*.unit",
1813            
1814            // Division
1815            "*.division",
1816            
1817            // Department
1818            "*.department",
1819            
1820            // Section
1821            "*.section",
1822            
1823            // Branch
1824            "*.branch",
1825            
1826            // Office
1827            "*.office",
1828            
1829            // Bureau
1830            "*.bureau",
1831            
1832            // Agency
1833            "*.agency",
1834            
1835            // Organization
1836            "*.organization",
1837            
1838            // Institution
1839            "*.institution",
1840            
1841            // Establishment
1842            "*.establishment",
1843            
1844            // Enterprise
1845            "*.enterprise",
1846            
1847            // Business
1848            "*.business",
1849            
1850            // Company
1851            "*.company",
1852            
1853            // Corporation
1854            "*.corporation",
1855            
1856            // Firm
1857            "*.firm",
1858            
1859            // Partnership
1860            "*.partnership",
1861            
1862            // Association
1863            "*.association",
1864            
1865            // Alliance
1866            "*.alliance",
1867            
1868            // Coalition
1869            "*.coalition",
1870            
1871            // Federation
1872            "*.federation",
1873            
1874            // Union
1875            "*.union",
1876            
1877            // League
1878            "*.league",
1879            
1880            // Club
1881            "*.club",
1882            
1883            // Society
1884            "*.society",
1885            
1886            // Fraternity
1887            "*.fraternity",
1888            
1889            // Sorority
1890            "*.sorority",
1891            
1892            // Brotherhood
1893            "*.brotherhood",
1894            
1895            // Sisterhood
1896            "*.sisterhood",
1897            
1898            // Fellowship
1899            "*.fellowship",
1900            
1901            // Membership
1902            "*.membership",
1903            
1904            // Citizenship
1905            "*.citizenship",
1906            
1907            // Residency
1908            "*.residency",
1909            
1910            // Inhabitant
1911            "*.inhabitant",
1912            
1913            // Resident
1914            "*.resident",
1915            
1916            // Occupant
1917            "*.occupant",
1918            
1919            // Tenant
1920            "*.tenant",
1921            
1922            // Renter
1923            "*.renter",
1924            
1925            // Lessee
1926            "*.lessee",
1927            
1928            // Lessor
1929            "*.lessor",
1930            
1931            // Landlord
1932            "*.landlord",
1933            
1934            // Owner
1935            "*.owner",
1936            
1937            // Proprietor
1938            "*.proprietor",
1939            
1940            // Possessor
1941            "*.possessor",
1942            
1943            // Holder
1944            "*.holder",
1945            
1946            // Bearer
1947            "*.bearer",
1948            
1949            // Carrier
1950            "*.carrier",
1951            
1952            // Transporter
1953            "*.transporter",
1954            
1955            // Mover
1956            "*.mover",
1957            
1958            // Shipper
1959            "*.shipper",
1960            
1961            // Sender
1962            "*.sender",
1963            
1964            // Receiver
1965            "*.receiver",
1966            
1967            // Recipient
1968            "*.recipient",
1969            
1970            // Addressee
1971            "*.addressee",
1972            
1973            // Consignee
1974            "*.consignee",
1975            
1976            // Consignor
1977            "*.consignor",
1978            
1979            // Vendor
1980            "*.vendor",
1981            
1982            // Supplier
1983            "*.supplier",
1984            
1985            // Provider
1986            "*.provider",
1987            
1988            // Distributor
1989            "*.distributor",
1990            
1991            // Dealer
1992            "*.dealer",
1993            
1994            // Retailer
1995            "*.retailer",
1996            
1997            // Wholesaler
1998            "*.wholesaler",
1999            
2000            // Merchant
2001            "*.merchant",
2002            
2003            // Trader
2004            "*.trader",
2005            
2006            // Seller
2007            "*.seller",
2008            
2009            // Buyer
2010            "*.buyer",
2011            
2012            // Purchaser
2013            "*.purchaser",
2014            
2015            // Customer
2016            "*.customer",
2017            
2018            // Client
2019            "*.client",
2020            
2021            // Patron
2022            "*.patron",
2023            
2024            // Consumer
2025            "*.consumer",
2026            
2027            // User
2028            "*.user",
2029            
2030            // Operator
2031            "*.operator",
2032            
2033            // Administrator
2034            "*.administrator",
2035            
2036            // Manager
2037            "*.manager",
2038            
2039            // Director
2040            "*.director",
2041            
2042            // Executive
2043            "*.executive",
2044            
2045            // Officer
2046            "*.officer",
2047            
2048            // Official
2049            "*.official",
2050            
2051            // Authority
2052            "*.authority",
2053            
2054            // Leader
2055            "*.leader",
2056            
2057            // Chief
2058            "*.chief",
2059            
2060            // Head
2061            "*.head",
2062            
2063            // Principal
2064            "*.principal",
2065            
2066            // Supervisor
2067            "*.supervisor",
2068            
2069            // Overseer
2070            "*.overseer",
2071            
2072            // Foreman
2073            "*.foreman",
2074            
2075            // Boss
2076            "*.boss",
2077            
2078            // Employer
2079            "*.employer",
2080            
2081            // Employee
2082            "*.employee",
2083            
2084            // Worker
2085            "*.worker",
2086            
2087            // Laborer
2088            "*.laborer",
2089        ]
2090    }
2091}