> In my "main" project, an Excel Add-In with about 10k lines of code and several references to additional libraries (like ADODB and Access), the initial parse takes 20s (according to RD's log) and subsequent parses typically 9-10s. That's on a Windows 7 machine, though. So in that light, the parsing times you're encountering seem rather high.
> Thanks that's a helpful reference point. I think my project is about 30k lines (including whitespace though, not sure how code lines are normally counted), total source files is 1MB.
So some potential options could be - virtual machine running slow - something in my project causing RD to get stuck / run slower
Examining the parse time via the log is a good idea. As far as I can tell theres a few parse errors in mine. I'll try to narrow down the issue by removing some modules and see i
moduleConfigProperty expects at least one of (moduleConfigProperty or moduleConfigElement), except I have come across a form with the following BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} NumPanels = 1 BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} EndProperty EndProperty which breaks this expectation. Can anyone see a problem with changing it to zero or more instead of one or more? If so, I'll raise a pull request.
> The grammar has the following for module config properties ``` BEGINPROPERTY whiteSpace unrestrictedIdentifier (LPAREN numberLiteral RPAREN)? (whiteSpace GUIDLITERAL)? endOfStatement (moduleConfigProperty | moduleConfigElement)* ENDPROPERTY endOfStatement ``` However, I have found a valid VB6 source file that contains the following ``` BeginProperty Panels {8E3867A5-8586-11D1-B16A-00C0F0283628} NumPanels = 1 BeginProperty Panel1 {8E3867AB-8586-11D1-B16A-00C0F0283628} EndProperty...
EndProperty ``` I have modified the grammar to expect zero or more config properties or config elements.
> Having the wrong number in there should not be a problem. There really is not too much consistency in our commit messages. However, a good general rule would be to state what the commit changes. E.g. here it could be Handle empty moduleConfigProperty in grammar.
> 1. You can't change the PR number in the commit without rewriting history. For future reference: we're not naming commits after the PRs they are included in. It's not really information we need in there. Instead we might reference an issue number that the commit adresses...
2. Could I bother you to also add a test for that grammar change? There should be some tests around module config properties in a class [here](https://github.com/rubberduck-vba/Rubberduck/tree/next/RubberduckTests/Gramma
If I rewrote history using `git commit --amend -m ""`with the suggested message in my fork, would there be a problem? According to https://blog.adamspiers.org/2015/03/24/why-and-how-to-correctly-amend-github-pull-requests/, github can handle history rewrites fine in pull requests
Here's hoping it works first time (I only have VS2015 on this machine, and as such can't open the project, so I'm relying on AppVeyor to tell me I've messed up)
I don't suppose someone would mind running VBAParserTests -> TestNestedVbFormModuleConfigWithAnEmptyNestedProperty so I don't have to wait 25 minutes to make sure the build passes?
Interesting... Working from home today. I'm connected via VPN and using RDC against my work machine.
I copy/pasted a fair amount of data into an Excel table and the results were nearly instant, as opposed to the agonizing, slooooooooooooow, RBAR, paste results I often see when I'm sitting at my desk.
When I'm at home, I can't use Alt-tab to switch between applications because my home machine is not passing those along to the remote machine (I think I can tweak that in the Citrix session, but haven't tried).
It's almost as if working slower by having to grab the mouse, move over to the other Excel workbook, then right-click, paste special, values makes the paste happen faster than working more quickly at work with alt-tab, context-menu-key, s, v
[rubberduck-vba/Rubberduck]Unrecognized author pushed commit 6e04ae23 to next: Modified the grammar to handle moduleConfigProperty rules with no children
[rubberduck-vba/Rubberduck]Unrecognized author pushed commit 77433e51 to next: Added a test to test handling of moduleConfigProperty rules that have no children
@AlexisDuque Looks like the blender missed a couple hard coded strings. Can you open an issue and include those screen shots? I'll go through and see if I can track any more down tonight.
> **Rubberduck version information** The info below can be copy-paste-completed from the first lines of Rubberduck's log or the About box:
Version 2.4.0.17897 OS: Microsoft Windows NT 10.0.17763.0, x64 Host Product: Microsoft Office 2016 x64 Host Version: 16.0.4266.1001 Host Executable: [EXCEL.EXE]
**Description** Validating the translations to spanish, I found some tags that do not change the language and I think that these do not have a key in the .resx files.
@Duga @this Some of the highlighted ones are hard coded in the xaml, which is why I was asking for the open issue (I didn't want to track down the images in the chat history).
with anything else, it'll put it in the alpha place (even if it's between other stuff - the alpha sorting is pretty dumb), but Let and Get get reversed, despite being listed the opposite way in the dropdown.
Today, we’re welcoming a new sponsor, TruePath Technologies! TruePath Technologies is an industry-leading provider of enterprise monitoring software, hardware and services. They specialize in configuring and maintaining your monitoring software so you can avoid costly network downtime and maintenance. TruePath is a premier technical support provider and reseller for partners like SolarWin…
I wrote this VBA Macro to save a range of values into a CSV:
Sub exportRangeToCSVFile()
Set myWB = ThisWorkbook
myCSVFileName = myWB.Path & "\" & "Format_CSV-" & VBA.Format(VBA.Now, "dd-MMM-yyyy hh-mm") & ".csv"
Range("B5:X260").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWo...
Except it doesn't work for Variant types because it gives the data area length.
WTF?
Sub bar()
Dim x As Variant
x = 1
Debug.Print TypeName(x) 'Integer
Debug.Print LenB(x) '2
x = 9999999
Debug.Print TypeName(x) 'Long
Debug.Print LenB(x) '14 <---WTH?
End Sub
Sub bar()
Dim x As Variant
x = 1
Debug.Print TypeName(x) 'Integer
Debug.Print LenB(x) '2
x = 1#
Debug.Print TypeName(x) 'Double
Debug.Print LenB(x) '2
End Sub
OK, WTF? Then further down he has sample code to demo the memory requirement of a Variant.
Dim lVar As Long
Dim vVar
lVar = 10000000
vVar = 10000000
MsgBox "The Long version uses " & LenB(lVar) & _
" bytes of memory" & vbCrLf & _
"The Variant version uses " & LenB(vVar)
New CustomUIEditor for Office Ribbon XML. I've just tested it for all of three minutes, and it looks like a great improvement.
https://github.com/fernandreu/wpf-custom-ui-editor
It's a great feeling to find that when you think the ducky's wrong, and upon researching, turns out that you are the one who's wrong and the ducky was right all the along.