Page 1 of 1

GitHub: contributing to the AutoHotkey source code

Posted: 27 Nov 2019, 06:50
by jeeswg
This thread is for people to post advice/guidelines re. contributing pull requests to the AutoHotkey source code.

[AHK v1.1/v2.0 source code]
Commits · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/commits/master
Commits · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/commits/alpha



Style Guide

C++ style guide:
Allman style indentation
snake_case for variable names
UpperCamelCase for function names

v2: Make OnExit/OnClipboardChange accept a function by fincs · Pull Request #27 · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/pull/27
Please try to match the style and conventions used in the existing code. For instance, avoid using a naming prefix to indicate the type of variable (like bEnable). I try to follow the conventions established by Chris - arguments (a), members (m) and globals (g_) use prefixes for scope (though not in all structs), and CamelCase. Local variables are typically lower case, with underscores separating words. Statements and opening and closing braces for blocks should each be on their own line (i.e. not as below).

Code: Select all

[not as below]
{
} else
{
}
[as below]
{
}
else
{
}


Considerations / Comments By Lexikos

[is:pr commenter:Lexikos][pull requests with comments by lexikos]
Pull Requests · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/pulls?utf8=%E2%9C%93&q=is%3Apr+commenter%3ALexikos

[AHK v2 should support Windows Vista onwards, Unicode, 32-bit/64-bit]
[AHK v1.1 should support Windows 2000 onwards, ANSI/Unicode, 32-bit/64-bit]
[AHK v1.0 should support Windows 95 onwards, ANSI, 32-bit]

[to submit a pull request to AHK v1 and v2, submit it to AHK v1 only (the master branch), it will be merged with AHK v2 later]
[to submit a pull request to AHK v2 only, submit it to AHK v2 (the alpha branch)]
Added A_AhkMajorVersion by nnnik · Pull Request #115 · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/pull/115

[check compiler warnings]
Fix "Custom" control WM_NOTIFY handling by fincs · Pull Request #20 · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/pull/20

[have core.autocrlf turned on, for LFs, and not CRLFs]
Added a new ImageSearch method that has new features and speed improvements. by Rseding91 · Pull Request #18 · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/pull/18
Add an #InputLevel directive for controlling which generated inputs get ignored by russelldavis · Pull Request #7 · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/pull/7

[post issues (bug reports/suggestions) to the forum, not to GitHub]
why not bind coordmode to command? by hyaray · Pull Request #152 · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/pull/152



Links

[C++ for AutoHotkey: summary info for the AutoHotkey source code, and code examples]
C/C++ - AutoHotkey Community
https://www.autohotkey.com/boards/viewforum.php?f=75
AutoHotkey C++ Powerhouse: Introduction - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=75&t=54394

[Visual Studio version info]
compiling AutoHotkey: Visual Studio versions and components - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=75&t=69629
AutoHotkey_L/README.md at master · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/blob/master/README.md
AutoHotkey_L/README.md at alpha · Lexikos/AutoHotkey_L · GitHub
https://github.com/Lexikos/AutoHotkey_L/blob/alpha/README.md

[info for adding the accompanying documentation for new features]
GitHub: contributing to the AutoHotkey documentation - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=81&t=70225

[further GitHub threads]
new forum proposal: GitHub subforum - AutoHotkey Community
https://autohotkey.com/boards/viewtopic.php?f=3&t=69622