1
0
mirror of https://github.com/chylex/Code-Statistics.git synced 2024-11-25 06:42:45 +01:00
Commit Graph

431 Commits

Author SHA1 Message Date
49596be234 Add AbstractLanguageFileHandler.PrepareFileContents and implement in existing handlers 2016-02-20 23:15:00 +01:00
2950aaa653 Add JavaParseUtils with basic java code file processing using regex 2016-02-20 23:14:35 +01:00
f468c1c813 Make searchData in Project public 2016-02-20 22:58:33 +01:00
c33fa48377 Use IOUtils.IsDirectory in FileSearch 2016-02-20 15:39:57 +01:00
21e5bc5320 Include the root path in FileSearchData for future use 2016-02-20 15:39:29 +01:00
da15893b34 Add IOUtils with file/directory related functions (+unit tests) 2016-02-20 15:39:02 +01:00
1ba4bed9d2 Change File.Contents to a single string instead of a string array 2016-02-19 21:27:58 +01:00
feff908b70 Add argument check to ParseUtils.CountCharacters 2016-02-19 16:22:52 +01:00
903e3bd65f Add a FirstChanceException handler for debugging 2016-02-19 15:57:52 +01:00
3656b240c9 Add essential Java handling classes 2016-02-19 15:57:12 +01:00
efad2b0b44 Work on language file handler (max/avg values, top file lists) 2016-02-19 15:56:35 +01:00
08180e422b Create a new ParseUtils class with methods specific to code 2016-02-19 15:54:30 +01:00
71f7e0818d Rename ParseUtils to StringUtils, since it consists of very general methods 2016-02-19 15:46:54 +01:00
3836c3a6b6 Rename Variables.ArrayAdapter.ToString to ToStringFormat 2016-02-19 13:08:47 +01:00
2750f542a4 Fix number formatting for array variables 2016-02-19 13:07:57 +01:00
2fbd8bc90c Add formatting capabilities to AnonymousDictionary<string,string> 2016-02-19 13:07:45 +01:00
710a17e4ce Add TopElementList collection that only stores N largest elements using a custom Comparison object 2016-02-18 23:26:55 +01:00
aca6c9d62e Add FileIntValue struct to assign numbers to files 2016-02-18 23:24:47 +01:00
50ae10443a Add IFileHandler.FinalizeProject to run after all files are processed 2016-02-18 22:21:54 +01:00
f2715d25b9 Add extension utility class for special int variable handling 2016-02-18 22:21:21 +01:00
b4c4ed8e55 Fix int variable formatting when using Variables.SetVariable 2016-02-18 22:04:42 +01:00
3adc7d29fa Move ParseUtils to Handling/Utils namespace 2016-02-18 21:57:10 +01:00
3a567abdaf Convert array sorter to Comparison<T> and update AssetHandler to use new methods 2016-02-18 18:55:37 +01:00
67f4e6c88c Improve support for int values in Variables 2016-02-18 13:48:57 +01:00
73f7c5918a Add total line and character count with minor refactorings to language handlers 2016-02-18 02:50:58 +01:00
7f70f8e8f0 Allow spaces in token matches 2016-02-18 02:48:58 +01:00
5e38e35d69 Update File class to cache contents into a string array 2016-02-18 02:43:39 +01:00
a553299f74 Add custom int variable formatting (separate thousands with spaces) 2016-02-18 02:43:14 +01:00
88d19b717b Add an amount param to Variables.Increment 2016-02-18 02:34:47 +01:00
6046cb079e Remove old Java tab classes 2016-02-18 02:18:09 +01:00
9785106808 Tweak the progress bar animation workaround to look better 2016-02-17 23:55:14 +01:00
bce5c1a1bf Reimplement asset type counting and sorting 2016-02-17 23:49:06 +01:00
3d5e3f825f Use invariant culture in Variables.SetVariable/Increment 2016-02-17 23:46:27 +01:00
367c7c194e Add array sorting capability to Variables 2016-02-17 23:38:51 +01:00
6c98183c59 Add variable update to array adapter and add safeguard for anon string,string dict typecasting 2016-02-17 23:24:31 +01:00
23a33399e5 Rewrite project state objects and setup to use the handler objects instead of their types 2016-02-17 23:23:21 +01:00
9f70922996 Add project setup to IFileHandler and state objects to Variables 2016-02-17 22:05:02 +01:00
cb835c5279 Add Generate/Close buttons to ProjectLoadForm 2016-02-17 21:53:01 +01:00
edcd54df82 Move ParseUtils to Handling/Parsing namespace 2016-02-17 17:06:45 +01:00
e823a95806 Add AbstractFileHandler & AbstractLanguageFileHandler and update existing handlers to extend them 2016-02-17 17:04:23 +01:00
6b7048c3b0 Remove unused code in Program class 2016-02-17 16:58:15 +01:00
d0fbd5f283 Add support for default variable values in templates 2016-02-17 16:50:29 +01:00
55a605b868 Redo project load cancel to be safe and wait for the cancel to be acknowledged 2016-02-17 16:40:38 +01:00
db1f33144e Add project processing to ProjectLoadForm 2016-02-17 16:33:11 +01:00
fad8a4640f Add a Project class to handle all file processing and variable generation 2016-02-17 16:30:53 +01:00
0704618841 Add FileSearchData.EntryCount property 2016-02-17 16:29:32 +01:00
44a6da80d8 Remove old ProjectAnalyzer class 2016-02-17 16:27:08 +01:00
080a6e43b5 Add total weight handling to HandlerList 2016-02-17 16:02:19 +01:00
8800f0b044 Add integer value handling and an Increment method to Variables 2016-02-17 15:56:10 +01:00
c59d2c5a77 Reimplement FileHandlers class into HandlerList and remove IFileHandler.IsFileValid 2016-02-17 14:58:51 +01:00
c05ba78dcb Fix missing method error in JavaHandler 2016-02-17 14:21:50 +01:00
8ed552a968 Cleanup code in FileSearch and FileSearchData 2016-02-17 14:20:49 +01:00
66cc7d6384 Update existing handlers to use the interfaces, and add FolderHandler 2016-02-17 14:20:25 +01:00
f27f4aed5e Rework abstract handlers into interfaces 2016-02-17 14:19:58 +01:00
ab62b6e676 Remove the old JavaHandler class 2016-02-17 00:02:57 +01:00
da778a17e5 Readd the bare skeletons of file handler classes 2016-02-17 00:01:39 +01:00
65351ff5f1 Move ParseUtils to a different namespace 2016-02-16 23:59:47 +01:00
645ffd3c8c Delete IHandlerTab and FileHandler, and update all files that use it 2016-02-16 23:59:18 +01:00
a8c5a106ac Remove old asset and unknown file handlers 2016-02-16 23:58:14 +01:00
47b1f81647 Comment out old classes (FileHandlers and ProjectAnalyzer) 2016-02-16 23:56:41 +01:00
44eec35187 Fix file extension check to use lowercase ext and make sure the path is not null 2016-02-16 23:24:30 +01:00
79bb169e60 Move unit tests to a separate CodeStatisticsTests project 2016-02-16 21:54:54 +01:00
b4abe82786 Add ProjectLoadForm with a progress bar and description text 2016-02-16 21:13:56 +01:00
a26a4e3901 Rewrite file searching to be asynchronous and safe 2016-02-16 20:40:38 +01:00
bf49220358 Fix form namespace in csproj file and missing visual styles 2016-02-16 20:24:52 +01:00
858f41f316 Fix MainForm namespace because I didn't save the fucking file 2016-02-16 18:40:44 +01:00
f9740cea9f Move MainForm to its own namespace 2016-02-16 18:40:15 +01:00
353aa7011b Rewrite and cleanup the startup class 2016-02-16 18:35:21 +01:00
e2da6a45fa Add MainForm result and return value for project selection 2016-02-16 18:32:16 +01:00
61b26375a3 Add file/folder drag and drop support on the main form 2016-02-16 18:12:06 +01:00
66810e21e3 Move MultiFolderDialog and reimplement into the form menu 2016-02-16 16:31:17 +01:00
77ca5c9012 Make the Source Code menu button functional 2016-02-16 15:02:29 +01:00
e26cca2288 Remove IProjectInputMethod and old menu handling workarounds 2016-02-16 15:01:20 +01:00
a75fdfb0e2 Convert project to WinForms and add a main form with simple buttons 2016-02-16 14:00:06 +01:00
9ca8a0d8a6 Add ProgramArguments class for parsing args 2016-02-16 13:29:41 +01:00
673f238ccd Remove all console related code 2016-02-16 01:38:56 +01:00
a256988a34 Remove unused using statements 2016-02-16 01:11:06 +01:00
a164833f8e Address static code analysis globalization concerns 2016-02-16 01:10:27 +01:00
fe6ab46cb4 Implement variable handling 2016-02-16 00:59:43 +01:00
f35c2dde81 Add AnonymousDictionary utility class to create dicts from anonymous types 2016-02-16 00:59:35 +01:00
38e0866e52 Finish TemplateToken dynamic value processing 2016-02-16 00:22:09 +01:00
2f335bc6a8 Add dummy methods to Variables class 2016-02-16 00:21:54 +01:00
44593cd7e4 Fix TemplateToken.Variable constructor having incorrect parameter name 2016-02-16 00:19:09 +01:00
ac1d988f15 Add an HTML output generator using the template engine 2016-02-16 00:09:19 +01:00
30c91fd5ff Add a custom template engine (dynamic content is TODO) 2016-02-16 00:08:41 +01:00
b25732114d Add an empty Variables class to use for data handling in future 2016-02-15 23:59:19 +01:00
af4ea4fe11 Fix more inspections (mostly missing readonly) 2015-09-11 12:23:47 +02:00
9b861b912d Fix inconsistencies and unnecessary code (resharper inspections) 2015-09-11 12:16:40 +02:00
220f3e2750 Hide "abstract fields" because they don't actually exist 2015-09-11 00:35:30 +02:00
1925551fa2 Fix alignment of the right column in Java Syntax tab 2015-09-11 00:25:50 +02:00
013e5673f3 Fix while and do/while cycle counter 2015-09-11 00:25:35 +02:00
b8600ca64f Tweak visuals of Java tabs 2015-09-11 00:17:58 +02:00
a5595d7ef8 Increase JavaHandler weight 2015-09-11 00:14:56 +02:00
f88e79de8a Print fields and methods to Java Syntax tab 2015-09-11 00:14:29 +02:00
409f467c89 Add field and method parsing and counting to Java handler 2015-09-10 23:33:16 +02:00
df326aecd6 Add JavaModifiers 2015-09-10 22:26:50 +02:00
9beab6f6ed Add some precautions to Java parsing 2015-09-10 21:02:09 +02:00
8e8caeb723 Add a dark yellow background to progress bar 2015-09-10 19:45:56 +02:00
756ff981e7 Add weighted project analysis progress 2015-09-10 19:43:55 +02:00
ca14d99620 Add a Syntax tab to Java handler with cycles 2015-09-10 18:39:26 +02:00
85eddbd8c4 Add a Triple collection 2015-09-10 18:38:29 +02:00
87140bd53a Add detection of some Java syntax elements 2015-09-10 18:03:39 +02:00
d13dbcd86b Change capitalization in comments 2015-09-10 18:03:22 +02:00
0400deb62b Fix subtitle text in main menu 2015-09-10 17:07:36 +02:00
5b5fe7d543 Add a link to the project github to main menu 2015-09-10 17:04:51 +02:00
18c2cb2f56 Tweak project selection menu to support actions 2015-09-10 17:02:21 +02:00
836b4d8e54 Make Java modifier detection safer and change Asset tab color 2015-09-10 16:08:20 +02:00
50a6b8033d Add a Java Primitives tab 2015-09-10 16:03:32 +02:00
1aaec91738 Count primitives in Java 2015-09-10 15:21:34 +02:00
4adccad19d Add basic classes for Java primitive handling 2015-09-10 14:50:08 +02:00
4a4907f51d Rename some public fields and cleanup code 2015-09-10 14:49:10 +02:00
340b5fc1a1 Fix and cleanup Java general tab 2015-09-10 11:57:43 +02:00
4da96b2870 Add some comments 2015-09-10 11:38:14 +02:00
21bd47002f Add padding to Files tab in Java handler 2015-09-10 11:38:01 +02:00
8a6cfcd155 Finish the General tab for Java 2015-09-10 11:37:36 +02:00
7b55b6bf2f Add nested type counting to Java handler 2015-09-10 11:37:13 +02:00
e4ba2ede63 Move JavaType to a separate namespace 2015-09-10 11:36:32 +02:00
628c6608c1 Fix crash when sorting minor handlers 2015-09-10 03:31:52 +02:00
8e754487ac Add file counts to general Java tab 2015-09-10 03:12:44 +02:00
1ca023f4c9 Add a method for retrieving a handler by type 2015-09-10 03:11:34 +02:00
48496467ab Add handling of unknown files 2015-09-10 03:11:07 +02:00
4e3b4395a2 Change the string regex to work on full string 2015-09-10 02:56:53 +02:00
cc35366288 Tweak visuals of console tabs 2015-09-10 02:50:59 +02:00
6b437b407d Cleanup tabs 2015-09-10 02:50:45 +02:00
412faad274 Add tests for Java parser regexes 2015-09-10 02:50:24 +02:00
b98e5b8c78 Add regex for Java string removal 2015-09-10 02:50:08 +02:00
9d19202076 Add a Files tab to Java handler 2015-09-10 01:58:16 +02:00
59818c77a7 Increase console width to 140 2015-09-10 01:56:18 +02:00
a003a2fdd1 Move GetSimpleName to JavaParseUtils 2015-09-10 01:55:56 +02:00
e731d8a576 Cleanup JavaNamesTab 2015-09-10 01:55:48 +02:00
7edf8a588f Add the tab classes to compile list 2015-09-10 01:55:14 +02:00
12cb56ffc7 Add Write methods that take ConsoleColor to ConsoleWrapper 2015-09-10 01:53:50 +02:00
e856b3115e Move Java tabs into separate classes 2015-09-09 21:52:28 +02:00
067ff224a1 Finish Java Names tab 2015-09-09 21:51:54 +02:00
f25513e91d Add type file counts to Java handler 2015-09-09 21:04:10 +02:00
1decd7cec4 Change the project analyzer display text when generating tabs 2015-09-09 21:02:06 +02:00
25ebe4230c Move Asset tab to a separate class and center all columns 2015-09-09 21:01:43 +02:00
c1f86946c2 Move Java handler tabs to a separate class 2015-09-09 21:00:43 +02:00
3a16f0bcbe Add imports to Java Parser 2015-09-09 19:41:00 +02:00
8ccc27e904 Change JavaFileInfo to be a class because structs are superimmutable 2015-09-09 18:34:49 +02:00
0bfaa99d0a Remove JavaFileInfo struct constructor because C# is weird 2015-09-09 18:31:16 +02:00
d15dbe50ce Add Java file info struct to store data per type 2015-09-09 18:29:00 +02:00
00a4e6da2a Shorten JavaParseUtils a bit 2015-09-09 18:12:09 +02:00
6ae0da65c1 Add fail tests for Java Parser 2015-09-09 17:45:29 +02:00
4a876fd372 Fix false positives on Java type keywords 2015-09-09 17:44:42 +02:00
55be3eb5d7 Work on JavaParser 2015-09-09 17:24:13 +02:00
4affa86f00 Move Java parsing methods and fields to a separate class 2015-09-09 17:23:29 +02:00
20420ca0b0 Add a simpler set of Extract methods to ParseUtils 2015-09-09 17:23:09 +02:00
599215391d Add JavaType enum for types 2015-09-09 17:22:35 +02:00
51412faa4b Add tests for ParseUtils 2015-09-09 16:41:03 +02:00
0870c894bb Add RemoveTo and RemoveFrom methods to ParseUtils 2015-09-09 16:40:55 +02:00
4f57b76b30 Add line and character counting to Java handler 2015-09-09 15:31:58 +02:00
8f997253af Prepare unit testing 2015-09-09 15:31:42 +02:00
28b4246586 Fix Java line splitting and remove \r from comment regex 2015-09-09 13:46:54 +02:00
e833872409 Add string extension class to help with code parsing 2015-09-09 13:01:52 +02:00
b929fb6c9e Add a WIP Java handler 2015-09-09 12:02:04 +02:00
676c861f61 Move tab info rendering down 2015-09-09 12:01:40 +02:00
8a7b679c02 Fix File reading and comparison by using full path 2015-09-09 12:01:22 +02:00
10d1c9d60e Add file loading to File class 2015-09-08 23:03:05 +02:00
7b2ddbada4 ...And include it in the compile list 2015-09-08 20:55:28 +02:00
a36f9d237c Add a Quit option to main menu 2015-09-08 20:55:01 +02:00
453e0e9c5a Remove the moved input method file 2015-09-08 20:54:50 +02:00
1cc9b055e3 Move input methods to a separate namespace 2015-09-08 20:53:56 +02:00
9c34140e10 Allow string format in console wrapper 2015-09-08 20:53:38 +02:00
d2ff18765c Add basic asset data rendering 2015-09-08 20:46:55 +02:00
d8b3c91cf8 Autorender first result tab and clear space when switching 2015-09-08 20:46:15 +02:00
37da5fd911 Move console text to the vertical center 2015-09-08 19:44:43 +02:00
6596ed0f3e Add ProjectAnalyzer that runs handlers, reports progress and generates tabs 2015-09-08 18:43:37 +02:00
db118518f3 Remove dot from file extensions in File 2015-09-08 18:14:46 +02:00
0a1c46c078 Add a WIP asset handler 2015-09-08 18:14:25 +02:00
49cdf35965 Add priority to minor file handlers 2015-09-08 18:13:27 +02:00
c8609d0259 Add basic file handler and tab classes 2015-09-08 16:10:37 +02:00
a0c08b3322 Change FileSearch to return the files instead of an event 2015-09-08 15:22:13 +02:00
4fbaa3974b Add file search 2015-09-08 14:37:20 +02:00
67789f1cf0 Work around unavailable Vista-style folder dialog 2015-09-08 14:36:52 +02:00
8193d65568 Return selected tab from the method & intercept buffer input 2015-09-08 14:36:12 +02:00
77c3c3f0b6 Setup the console with initial project selection dialog 2015-09-08 02:11:12 +02:00
c643ee17a5 Add a tab system to console 2015-09-08 02:10:48 +02:00
4ab46b1d41 Add project input method with a folder dialog 2015-09-08 02:10:20 +02:00
05acb7ff66 Add a wrapper utility class to Console 2015-09-08 02:09:10 +02:00
2e644aabdd Add basic project files 2015-09-08 01:15:53 +02:00