Welcome to the Chocolatey Community Package Repository! The packages found in this section of the site are provided, maintained, and moderated by the community.
Moderation
Every version of each package undergoes a rigorous moderation process before it goes live that typically includes:
- Security, consistency, and quality checking
- Installation testing
- Virus checking through VirusTotal
- Human moderators who give final review and sign off
More detail at Security and Moderation.
Organizational Use
If you are an organization using Chocolatey, we want your experience to be fully reliable. Due to the nature of this publicly offered repository, reliability cannot be guaranteed. Packages offered here are subject to distribution rights, which means they may need to reach out further to the internet to the official locations to download files at runtime.
Fortunately, distribution rights do not apply for internal use. With any edition of Chocolatey (including the free open source edition), you can host your own packages and cache or internalize existing community packages.
Disclaimer
Your use of the packages on this site means you understand they are not supported or guaranteed in any way. Learn more...
- Passing
- Failing
- Pending
- Unknown / Exempted

Downloads:
2,168
Downloads of v 0.3.0.1:
775
Last Update:
03 Feb 2015
Package Maintainer(s):
Software Author(s):
- Tim Simpson
Tags:
macaroni c++ cpp lua- Software Specific:
- Software Site
- Software License
- Package Specific:
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download

Macaroni for C++
- Software Specific:
- Software Site
- Software License
- Package Specific:
- Package outdated?
- Package broken?
- Contact Maintainers
- Contact Site Admins
- Software Vendor?
- Report Abuse
- Download
Downloads:
2,168
Downloads of v 0.3.0.1:
775
Maintainer(s):
Software Author(s):
- Tim Simpson
Edit Package
To edit the metadata for a package, please upload an updated version of the package.
Chocolatey's Community Package Repository currently does not allow updating package metadata on the website. This helps ensure that the package itself (and the source used to build the package) remains the one true source of package metadata.
This does require that you increment the package version.
Some Checks Have Failed or Are Not Yet Complete
1 Test Unknown and 1 Passing Test
To install Macaroni for C++, run the following command from the command line or from PowerShell:
To upgrade Macaroni for C++, run the following command from the command line or from PowerShell:
To uninstall Macaroni for C++, run the following command from the command line or from PowerShell:
NOTE: This applies to both open source and commercial editions of Chocolatey.
1. Ensure you are set for organizational deployment
Please see the organizational deployment guide
2. Get the package into your environment-
Open Source or Commercial:
- Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://chocolatey.org/api/v2. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
- You can also just download the package and push it to a repository Download
-
Open Source
- Download the Package Download
- Follow manual internalization instructions
-
Package Internalizer (C4B)
- Run
choco download macaroni --internalize --source=https://chocolatey.org/api/v2
(additional options) - Run
choco push --source="'http://internal/odata/repo'"
for package and dependencies - Automate package internalization
- Run
3. Enter your internal repository url
(this should look similar to https://chocolatey.org/api/v2)
4. Choose your deployment method:
choco upgrade macaroni -y --source="'STEP 3 URL'" [other options]
See options you can pass to upgrade.
See best practices for scripting.
Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.
If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:
choco upgrade macaroni -y --source="'STEP 3 URL'"
$exitCode = $LASTEXITCODE
Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
Exit 0
}
Exit $exitCode
- name: Ensure macaroni installed
win_chocolatey:
name: macaroni
state: present
version: 0.3.0.1
source: STEP 3 URL
See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.
Coming early 2020! Central Managment Reporting available now! More information...
chocolatey_package 'macaroni' do
action :install
version '0.3.0.1'
source 'STEP 3 URL'
end
See docs at https://docs.chef.io/resource_chocolatey_package.html.
Chocolatey::Ensure-Package
(
Name: macaroni,
Version: 0.3.0.1,
Source: STEP 3 URL
);
Requires Otter Chocolatey Extension. See docs at https://inedo.com/den/otter/chocolatey.
cChocoPackageInstaller macaroni
{
Name = 'macaroni'
Ensure = 'Present'
Version = '0.3.0.1'
Source = 'STEP 3 URL'
}
Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.
package { 'macaroni':
provider => 'chocolatey',
ensure => '0.3.0.1',
source => 'STEP 3 URL',
}
Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.
salt '*' chocolatey.install macaroni version="0.3.0.1" source="STEP 3 URL"
See docs at https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.chocolatey.html.
5. If applicable - Chocolatey configuration/installation
See infrastructure management matrix for Chocolatey configuration elements and examples.
This package was approved by moderator purity on 10 Feb 2015.
Macaroni for C++ parses a sleeker version of C++ that resembles Java or C# and generates C++ code, managing the physical layout of your project for you
# Messages file for Macaroni.
# C++ Axioms
CppAxioms.AnnotationValueCreation=Character '@' signifies an Annotation value to be attached to the current Node.
CppAxioms.BlockCreation=Keyword "~block" creates a block of code in the current node.
CppAxioms.ClassCreation=Keyword "class" begins or continues classes.
CppAxioms.ConstructorCreation=Name of class without type creates constructor.
CppAxioms.DestructorCreation.TemplateNotAllowed=A template parameter list can't proceed a destructor.
CppAxioms.DestructorCreation=Tilda (~) followed by name of class begins destructor definition.
CppAxioms.EnumCreation=Keyword "enum" begins or continues enumerations.
CppAxioms.FunctionCreation=Function definition encountered.
CppAxioms.NamespaceCreation=Keyword "namespace" begins or continues namespaces.
CppAxioms.NamespaceRoot=The root of the Node system is a Namespace.
CppAxioms.PrimitiveChar=This node is a place holder for the C++ primitive "char."
CppAxioms.PrimitiveDouble=This node is a place holder for the C++ primitive "double."
CppAxioms.PrimitiveFloat=This node is a place holder for the C++ primitive "float."
CppAxioms.PrimitiveSignedInt=This node is a place holder for the C++ primitive "signed int."
CppAxioms.PrimitiveUnsignedInt=This node is a place holder for the C++ primitive "unsigned int."
CppAxioms.PrimitiveVoid=This node is a place holder for the C++ primitive "void."
CppAxioms.SetExistingHFilePath=H File paths can be set using the keyword "~hfile".
CppAxioms.TemplateParameterListCreation=A template parameter list is created by the keyword "template".
CppAxioms.TypedefCreation=Typedef is created by typedef keyword.
CppAxioms.VariableScopeCreation=Variable definition encountered.
# C++ Parser Exception Messages
CppParser.Access.KeyWordSeenTwice=An access keyword was seen twice.
CppParser.Annotation.AnnotationFoundOutsideOfAnyScope=An attribute (or '@' symbol) was found outside of any Node scope. An attribute must be attached to a Node.
CppParser.Annotation.EndBracketOrSimpleNameExpectedInsideAnnotationTable=Either an ']' or a simple name for a table entry (no "::") was expected inside the attribute table.
CppParser.Annotation.CodeBlockExpectedAfterEquals=A code block was expected right after the equals sign.
CppParser.Annotation.NodeNameExpectedAfterAt=Expected attribute name following '@' symbol.
CppParser.Annotation.TableEntryEqualsExpected=Expected to see '=' following the table entry name ("::" not allowed as a name).
CppParser.Annotation.TableEntryValueExpected=Expected to see a value for the Annotation table entry following the name and '='.
CppParser.Annotation.ValueNoNodeByTheGivenNameFound=It seems as a Node value for an Annotation was specified here, but no Node by that name could be found (are you missing an ~import?).
CppParser.Annotation.ValueExpectedFollowingNodeName=No attribute value was found following the attribute name.
CppParser.Enum.NoID1=Identifier expected following enum keyword.
CppParser.Enum.Size.NoType=Expected to see a type specified for the enum size here.
CppParser.Enum.NoComma=Expected to see a comma seperating enum values.
CppParser.Enum.NoSemicolon=Expected to see a semicolon to end enum definition.
CppParser.Enum.NoStartBrace=Expected to see an opening brace here to start the definition of enum values.
CppParser.Enum.NoValueName=Expected to see the name of an enum value here.
CppParser.Enum.NoValueFollowingEquals=Expected to see an value expression following '=' in enum body.
CppParser.Class.NoID1=Identifier expected following class keyword.
CppParser.Class.NoOpeningBrace=Expected '{' following class signature.
CppParser.Class.NoEndingBrace=Expected '}' at this point to end class definition.
CppParser.Class.Inheritance.NoType=Expected a type to be specified as inheritance parent.
CppParser.CodeBlock.Expected=Expected to see a code block (i.e. "{ blah blah }").
CppParser.Constructor.ArgumentListExpected=Constructor argument list expected here.
CppParser.Constructor.ClassNameExpected=Class name expected following destructor symbol '~'.
CppParser.Expression.CouldNotMatch=Macaroni searched this spot for a generic C++ expression but couldn't find one.
CppParser.Directive.Unknown=Unknown keyword following Macaroni marker "~".
CppParser.Directive.HFileBadArgument=Bad text following "hfile".
CppParser.Directive.HFileFilePathExpected=A file path was expected here.
CppParser.FileNameExpected=Expected a file name surrounded with quotes or ankle brackets.
CppParser.Friend.FriendKeywordOnlyForClasses=Keyword "friend" cannot be used outside of a class.
CppParser.Friend.CouldNotFindNode=Could not find information on type in friend declaration. Sorry, but friend info must be specified early using either an import or forward reference.
CppParser.Friend.Modifier.Only.For.Globals=The friend modifier only makes sense for ~global members. A non-global member is always your friend.
CppParser.Friend.MissingSemicolon=Missing semicolon on friend declaration.
CppParser.Function.SemicolonExpected=Semicolon expected following function definition.
CppParser.Global.AllowedForClassesOnly=The global keyword is allowed only within class definitions.
CppParser.GlobalKeyword.ClosingParanthesisExpected=Closing paranthesis expected following home of ~global node.
CppParser.GlobalKeyword.HomeNodeExpected=The home node of the ~global node being defined was expected to be specified following the first paranthesis.
CppParser.Import.NameNotFound=Identifier expected following keyword "import."
CppParser.Import.SemicolonExpected=Expected ';' following import identifier.
CppParser.Operator.InvalidOperator=The text following keyword "operator" does not represent an operator that can be overloaded.
CppParser.Namespace.NoID1=Identifier expected following namespace keyword.
CppParser.Namespace.NoEndingBrace=Syntax error while searching for '}' to complete sandwhich started on line {0}.
CppParser.Namespace.NoOpeningBrace=Syntax error after identifier keyword; expected '{'.
CppParser.Namespace.StatementEof=Expected EOF at this point, after seeing ~namespace and then scope filler.
CppParser.Document.SyntaxError=Syntax error.
CppParser.Function.ExpectedEndingParenthesis=Expected to see ')'.
CppParser.PureVirtual.ExpectedSemicolon=Following equals and zero expected a semicolon to indicate a pure virtual function or the default keyword.
CppParser.PureVirtual.ExpectedZero=Following equals expected to see a zero or default to indicate a pure virtual function or a default constructor.
CppParser.StringLiteralStartExpected=Expected to see the a String literal here.
CppParser.StringLiteralEndingExpected=Expected to see the ending of a String literal.
CppParser.NoExcept.MissingSecondParanthesis=Expected to see end of paranthesis for noexcept specifier here.
CppParser.Template.ExpectedClassOrFunction=Expected a class or function to follow a template parameter list.
CppParser.Template.ExpectedLT=Expected "<" following keyword "template."
CppParser.Template.ExpectedTypenameName=Expected a simple name following "typename" inside a template parameter list.
CppParser.Template.NodeNameNotUnique=The name {0} cannot be used as it was used previously in this template parameter list.
CppParser.Template.ExpectedComma=Expected a comma to extend a parameter list here or '>' to end it.
CppParser.Template.UnexpectedSyntax=Unexpected syntax inside template parameter list (Macaroni may not yet support what you are trying to do).
CppParser.ThrowSpecifier.MissingFirstParanthesis=Expected to see a pair of paranthesis following throw specifier.
CppParser.ThrowSpecifier.MissingSecondParanthesis=Expected to see end of paranthesis for throw specifier here (note: unfortunately Macaroni has not implemented non-empty type specifiers).
CppParser.Type.TypeDefinitionArgumentExpected=Expected to see type definition within ankle brackets.
CppParser.Type.TypeDefinitionCommaOrClosingBracketExpected=Expected to see "," or ">" here.
CppParser.Typedef.NoName=No name was given for typedef following type definition.
CppParser.Typedef.NoSemicolon=No semicolon found for typedef.
CppParser.Typedef.NoTypeDefinitionFound=Did not find a valid type definition following "typedef" keyword.
CppParser.Unit.CppFileNoEquals=Expected to see an equals sign following ~cppfile.
CppParser.Unit.HFileNoEquals=Expected to see an equals sign following ~hfile.
CppParser.Unit.NoID1=Identifier expected following ~unit keyword.
CppParser.Unit.NoLegacy=Cannot define units when in legacy (manifest) mode.
CppParser.Unit.NoEndingBrace=Ending brace expected to close block begun on line {0}.
CppParser.Unit.NoOpeningBrace=Expected an opening brace following the ~unit declaration.
CppParser.Unit.PlatformNoEquals=Missing equals after unit platform keyword.
CppParser.Unit.StatementEof=Expected EOF at line {0}.
CppParser.Unit.TypeNoEquals=Expected to see an equals sign following the ~type.
CppParser.Unit.TypeNoName=Expected to see a name following "~type =".
CppParser.Variable.ConstMaybeBeforeVar=Identifier was expected following keyword "const."
CppParser.Variable.ConstSeenTwice=Identifier was expected following keyword "const."
CppParser.Variable.FriendNotAllowedForArg=Keyword "~friend" is not allowed for function arguments.
CppParser.Variable.GlobalHomeNodeSpecifierMakesNoSenseWhenHidden=Specifying a home node with the ~global keyword doesn't make sense when the acess is ~hidden, because the Node will always be forced into the anonymous namespace of the CPP file.
CppParser.Variable.GlobalNotAllowedForArg=Keyword "~global" is not allowed for function arguments.
CppParser.Variable.InlineNotAllowedForVariable=Keyword "inline" is not allowed for variables.
CppParser.Variable.MustFollowGlobalKeyword=Keyword "global" must be followed by member definition.
CppParser.Variable.NameExpected=Variabler identifier expected.
CppParser.Variable.PublicGlobalStaticMakesNoSense=A public global static does not work; "static" will force the node to be visible on in the compilation block its seen; i.o.w. other entities which might import it and thus include its header file from their C++ files will have linker errors as the node will remain undefined. Consider making this a private static global or a public non-static global.
CppParser.Variable.SemicolonExpected=Expected ';' following variable identifier.
CppParser.Variable.StaticNotAllowedForArg=Keyword "static" is not allowed for function arguments.
CppParser.Variable.TemplateNotAllowed=Template parameter list was seen before what looked like a variable.
CppParser.Variable.UnknownTypeName=Unknown type name for variable. Are you missing an import statement or forward declaration?
CppParser.Variable.VirtualNotAllowedForArg=Keyword "virtual" not allowed for function arguments.
MacaroniAxioms.Annotation.Definition.Implicit=Annotations may be implicitly defined during use.
LuaGlue.LuaClassWraps=The annotation "Macaroni::Lua::LuaClass" when applied to a class causes that class to be wrapped with another class as Lua glue.
Log in or click on link to see number of positives.
- macaroni.0.3.0.1.nupkg (ac50229d44a4) - ## / 56
- macaroni.exe (05d049d93b79) - ## / 56
In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).
Chocolatey Pro provides runtime protection from possible malware.
Version | Downloads | Last Updated | Status |
---|---|---|---|
Macaroni for C++ 0.3.0.1 | 775 | Tuesday, February 3, 2015 | Approved |
Macaroni for C++ 0.2.3 | 601 | Friday, June 6, 2014 | Unknown |
Macaroni for C++ 0.2.2 | 372 | Sunday, April 13, 2014 | Unknown |
Macaroni for C++ 0.2.0 | 357 | Monday, February 24, 2014 | Unknown |
Copyright 2014 Tim Simpson
Adds class and function templates plus support for trailing return types.
-
- vcredist2013 (≥ 12.0.0.20140222)
Ground Rules:
- This discussion is only about Macaroni for C++ and the Macaroni for C++ package. If you have feedback for Chocolatey, please contact the Google Group.
- This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
- The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
- Tell us what you love about the package or Macaroni for C++, or tell us what needs improvement.
- Share your experiences with the package, or extra configuration or gotchas that you've found.
- If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.