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

431 Commits

Author SHA1 Message Date
3f42cfcf6d Add Java Type reading to JavaState and update the Type class to be a Member 2016-02-24 02:00:55 +01:00
699b32b8d6 Add Java Member class and annotation & modifier list reading methods 2016-02-24 02:00:18 +01:00
cac64aaadf Add a Java Type class and declaration type reading 2016-02-23 22:39:16 +01:00
81802c26d3 Remove out parameter in JavaParseUtils.ReadStruct 2016-02-23 22:36:25 +01:00
2ec8a85f84 Work on Java modifiers (reading, add properties, make the classes public) 2016-02-23 20:28:22 +01:00
8e5b416ab3 Add JavaParseUtils.ReadStructList for reading lists of elements in Java code 2016-02-23 20:27:06 +01:00
bd9dcf3920 Rename ImportStatement to Import 2016-02-23 18:20:40 +01:00
f07178749b Add Java Modifiers enum 2016-02-23 18:20:15 +01:00
c2f1c78247 Add getters to BiDictionary 2016-02-23 18:01:15 +01:00
94eb8a93f2 Add BiDictionary collection 2016-02-23 17:59:20 +01:00
205d201a9c Move JavaCharacters and JavaParseUtils to Java.Utils namespace 2016-02-23 17:40:46 +01:00
08bbe5e583 Add .jav extension as a Java code file 2016-02-23 17:19:39 +01:00
f5caac32e0 Add Java import parsing and stats 2016-02-23 16:52:38 +01:00
6f4e08548f Fix Java package reading (add count to output, skip semicolon) 2016-02-23 16:34:26 +01:00
32daad3651 Add CodeParser.ReadToSkip and update CodeParser unit tests 2016-02-23 16:33:45 +01:00
7186fec76d Work on Java parsing (fix unused PrepareCodeFile, add package count) 2016-02-23 16:23:38 +01:00
d709da2545 Override Equals, hash code, equality operators in Java Annotation struct 2016-02-23 16:11:34 +01:00
f316ae6e34 Move Java space skipping to JavaState from JavaCodeParser 2016-02-23 15:41:28 +01:00
0d1de755c2 Override Clone in JavaCodeParser 2016-02-23 15:41:08 +01:00
fd2cd9de3b Remove unused references 2016-02-23 15:40:18 +01:00
a9800c8a48 Implement package declaration reading in Java files 2016-02-23 14:54:02 +01:00
5989531bd6 Add CodeParser.ReadTo with unit tests 2016-02-23 14:46:30 +01:00
48823c2ece Add CodeParser.SkipIfMatch with unit tests 2016-02-23 14:35:24 +01:00
b7055cee67 Rename SkipBlockGet to ReadBlock and NextIdentifier to ReadIdentifier 2016-02-22 23:03:57 +01:00
ab6594776a Remove unused JavaParseUtils 2016-02-22 23:02:34 +01:00
cc97f3938e Push current status of Java parsing (unfinished package reading, string.Empty tweak) 2016-02-22 17:21:24 +01:00
aca1a447b5 Add JavaCodeParser.ReadAnnotation with unit tests 2016-02-22 16:52:20 +01:00
6ca477d7da Add JavaCodeParser.ReadFullTypeName 2016-02-22 16:51:20 +01:00
a22252a0ed Add Java element structs - Annotation & ImportStatement 2016-02-22 16:43:28 +01:00
118977a57c Add JavaParseUtils.FullToSimpleName with unit tests 2016-02-22 16:40:14 +01:00
9502461ba2 Add a basic skeleton for JavaCodeParser class to handle java code files 2016-02-22 14:36:53 +01:00
fc2fe08fef Add JavaCharacters.IsNotReservedWord and IsWhiteSpace (replace IsValidIdentifier) 2016-02-22 14:36:06 +01:00
b39c6ded32 Add identifier reading to CodeParser with unit tests 2016-02-22 13:53:28 +01:00
5912301e06 Add documentation and unit tests for CodeParser.Clone 2016-02-22 13:45:24 +01:00
56fae34448 Add public CodeParser cloning, fix SubstrIndex again, add Skip 2016-02-22 13:26:06 +01:00
61138391d9 Prepare CodeParser for being extended 2016-02-22 13:11:41 +01:00
21519be744 Improve unit tests for CodeParser and fix a block reading cursor index bug 2016-02-22 13:10:01 +01:00
0decbbfec3 Add a basic CodeParser class for code navigation plus unit tests 2016-02-22 02:03:02 +01:00
1bc30401f1 Add a WIP JavaCharacters class with identifier characters 2016-02-21 23:28:04 +01:00
599f644a87 Add CharacterRangeSet with unit tests 2016-02-21 23:00:10 +01:00
899ab4516e Do minor refactoring (convert JavaFileInfo to class, rename ProcessCodeFile) 2016-02-21 22:53:01 +01:00
b1cd99d9f8 Fix new lines in debug form textbox 2016-02-21 16:18:57 +01:00
f3e590bc10 Update debug form (manual editing, load original file contents) 2016-02-21 15:59:42 +01:00
d5b589fbcb Change method signature of PrepareFiileContents to use string instead of File 2016-02-21 15:59:21 +01:00
eb68401d6c Remove or comment out most old and unused Java handling classes 2016-02-21 00:18:15 +01:00
652b78dc0f Address a couple concerns from static code analysis 2016-02-20 23:46:17 +01:00
f9c982f8cc Fix debug form textbox font to use Courier New 2016-02-20 23:34:22 +01:00
8e3c3bc6ae Decrease size of tabs in the debug form textbox 2016-02-20 23:31:56 +01:00
97380fd625 Add a button to open the project debug form 2016-02-20 23:15:39 +01:00
ddac05ad5a Add a debug form that shows processed code file contents 2016-02-20 23:15:16 +01:00
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