Skip to content

Commit f84bd65

Browse files
committed
Initial project commit
0 parents  commit f84bd65

32 files changed

+2079
-0
lines changed

.gitignore

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
### macOS ###
2+
# General
3+
.DS_Store
4+
.AppleDouble
5+
.LSOverride
6+
.netrc
7+
8+
# Icon must end with two \r
9+
Icon
10+
11+
12+
# Thumbnails
13+
._*
14+
15+
# Files that might appear in the root of a volume
16+
.DocumentRevisions-V100
17+
.fseventsd
18+
.Spotlight-V100
19+
.TemporaryItems
20+
.Trashes
21+
.VolumeIcon.icns
22+
.com.apple.timemachine.donotpresent
23+
24+
# Directories potentially created on remote AFP share
25+
.AppleDB
26+
.AppleDesktop
27+
Network Trash Folder
28+
Temporary Items
29+
.apdisk
30+
31+
### macOS Patch ###
32+
# iCloud generated files
33+
*.icloud
34+
35+
### Swift ###
36+
# Xcode
37+
#
38+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
39+
40+
## User settings
41+
xcuserdata/
42+
43+
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
44+
*.xcscmblueprint
45+
*.xccheckout
46+
47+
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
48+
build/
49+
DerivedData/
50+
*.moved-aside
51+
*.pbxuser
52+
!default.pbxuser
53+
*.mode1v3
54+
!default.mode1v3
55+
*.mode2v3
56+
!default.mode2v3
57+
*.perspectivev3
58+
!default.perspectivev3
59+
60+
## Obj-C/Swift specific
61+
*.hmap
62+
63+
## App packaging
64+
*.ipa
65+
*.dSYM.zip
66+
*.dSYM
67+
68+
## Playgrounds
69+
timeline.xctimeline
70+
playground.xcworkspace
71+
72+
# Swift Package Manager
73+
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
74+
/.build
75+
Packages/
76+
Package.pins
77+
Package.resolved
78+
/*.xcodeproj
79+
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
80+
# hence it is not needed unless you have added a package configuration file to your project
81+
# .swiftpm
82+
.swiftpm/config/registries.json
83+
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
84+
85+
.build/

.swiftformat

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# file options
2+
3+
--exclude Documentation
4+
5+
# format options
6+
7+
--allman true
8+
--elseposition next-line
9+
--guardelse next-line
10+
--indent 4
11+
--semicolons never
12+
--shortoptionals always
13+
--stripunusedargs always
14+
--trimwhitespace always
15+
--wraparguments after-first
16+
--wrapcollections after-first

.swiftlint

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
excluded:
2+
- Documentation
3+
4+
disabled_rules:
5+
- switch_case_alignment
6+
- opening_brace
7+
- closing_brace
8+
- discarded_notification_center_observer
9+
- statement_position
10+
- multiple_closures_with_trailing_closure
11+
12+
opt_in_rules:
13+
- anyobject_protocol
14+
- contains_over_first_not_nil
15+
- empty_count
16+
- empty_string
17+
- fallthrough
18+
- fatal_error_message
19+
- first_where
20+
- force_unwrapping
21+
- private_action
22+
- private_outlet
23+
- sorted_imports
24+
- unused_import
25+
26+
force_unwrapping:
27+
severity: error
28+
private_outlet:
29+
severity: error
30+
private_action:
31+
severity: error
32+
notification_center_detachment:
33+
severity: error
34+
empty_enum_arguments:
35+
severity: error
36+
empty_parentheses_with_trailing_closure:
37+
severity: error
38+
redundant_objc_attribute:
39+
severity: error
40+
fatal_error_message:
41+
severity: error
42+
fallthrough:
43+
severity: error
44+
empty_string:
45+
severity: error
46+
empty_count:
47+
severity: error
48+
return_arrow_whitespace:
49+
severity: error
50+
vertical_parameter_alignment:
51+
severity: error
52+
trailing_whitespace:
53+
severity: error
54+
vertical_whitespace:
55+
severity: error
56+
57+
nesting:
58+
type_level: 2
59+
60+
function_parameter_count:
61+
warning: 4
62+
error: 5
63+
ignores_default_parameters: false
64+
65+
file_length:
66+
warning: 500
67+
error: 600
68+
69+
line_length:
70+
warning: 150
71+
error: 170
72+
ignores_comments: true
73+
74+
type_body_length:
75+
warning: 250
76+
error: 400
77+
78+
type_name:
79+
allowed_symbols: ["_"]
80+
max_length:
81+
warning: 30
82+
error: 40
83+
84+
identifier_name:
85+
allowed_symbols: ["_"]
86+
excluded: ["id"]
87+
88+
function_body_length:
89+
warning: 100
90+
error: 110
91+
92+
cyclomatic_complexity:
93+
warning: 10
94+
error: 20
95+
96+
reporter: "xcode"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1400"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "Gopher"
18+
BuildableName = "Gopher"
19+
BlueprintName = "Gopher"
20+
ReferencedContainer = "container:">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
<BuildActionEntry
24+
buildForTesting = "YES"
25+
buildForRunning = "YES"
26+
buildForProfiling = "NO"
27+
buildForArchiving = "NO"
28+
buildForAnalyzing = "YES">
29+
<BuildableReference
30+
BuildableIdentifier = "primary"
31+
BlueprintIdentifier = "GopherIntegrationTests"
32+
BuildableName = "GopherIntegrationTests"
33+
BlueprintName = "GopherIntegrationTests"
34+
ReferencedContainer = "container:">
35+
</BuildableReference>
36+
</BuildActionEntry>
37+
<BuildActionEntry
38+
buildForTesting = "YES"
39+
buildForRunning = "YES"
40+
buildForProfiling = "NO"
41+
buildForArchiving = "NO"
42+
buildForAnalyzing = "YES">
43+
<BuildableReference
44+
BuildableIdentifier = "primary"
45+
BlueprintIdentifier = "GopherTests"
46+
BuildableName = "GopherTests"
47+
BlueprintName = "GopherTests"
48+
ReferencedContainer = "container:">
49+
</BuildableReference>
50+
</BuildActionEntry>
51+
</BuildActionEntries>
52+
</BuildAction>
53+
<TestAction
54+
buildConfiguration = "Debug"
55+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
56+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
57+
shouldUseLaunchSchemeArgsEnv = "YES"
58+
codeCoverageEnabled = "YES">
59+
<Testables>
60+
<TestableReference
61+
skipped = "NO">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "GopherIntegrationTests"
65+
BuildableName = "GopherIntegrationTests"
66+
BlueprintName = "GopherIntegrationTests"
67+
ReferencedContainer = "container:">
68+
</BuildableReference>
69+
</TestableReference>
70+
<TestableReference
71+
skipped = "NO">
72+
<BuildableReference
73+
BuildableIdentifier = "primary"
74+
BlueprintIdentifier = "GopherTests"
75+
BuildableName = "GopherTests"
76+
BlueprintName = "GopherTests"
77+
ReferencedContainer = "container:">
78+
</BuildableReference>
79+
</TestableReference>
80+
</Testables>
81+
</TestAction>
82+
<LaunchAction
83+
buildConfiguration = "Debug"
84+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
85+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
86+
launchStyle = "0"
87+
useCustomWorkingDirectory = "NO"
88+
ignoresPersistentStateOnLaunch = "NO"
89+
debugDocumentVersioning = "YES"
90+
debugServiceExtension = "internal"
91+
allowLocationSimulation = "YES">
92+
</LaunchAction>
93+
<ProfileAction
94+
buildConfiguration = "Release"
95+
shouldUseLaunchSchemeArgsEnv = "YES"
96+
savedToolIdentifier = ""
97+
useCustomWorkingDirectory = "NO"
98+
debugDocumentVersioning = "YES">
99+
<MacroExpansion>
100+
<BuildableReference
101+
BuildableIdentifier = "primary"
102+
BlueprintIdentifier = "Gopher"
103+
BuildableName = "Gopher"
104+
BlueprintName = "Gopher"
105+
ReferencedContainer = "container:">
106+
</BuildableReference>
107+
</MacroExpansion>
108+
</ProfileAction>
109+
<AnalyzeAction
110+
buildConfiguration = "Debug">
111+
</AnalyzeAction>
112+
<ArchiveAction
113+
buildConfiguration = "Release"
114+
revealArchiveInOrganizer = "YES">
115+
</ArchiveAction>
116+
</Scheme>

AUTHORS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Gopher is created, developed, and maintained by Farhan Ahmed.
2+
3+
A full list of contributors is available from git with:
4+
5+
git shortlog -sne

CONTRIBUTING.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
How to contribute to Gopher
2+
===========================
3+
4+
Thank you for considering contributing to Gopher!
5+
6+
Reporting issues
7+
----------------
8+
9+
- Describe what you expected to happen.
10+
- If possible, include a [minimal, complete, and verifiable example](https://stackoverflow.com/help/mcve
11+
) to help us identify the issue. This also helps check that the issue is not with your own code.
12+
- Describe what actually happened. Include the full traceback if there was an exception.
13+
14+
Submitting patches
15+
------------------
16+
17+
- Include tests if your patch is supposed to solve a bug, and explain
18+
clearly under which circumstances the bug happens. Make sure the test fails
19+
without your patch.
20+
- Make sure all commits are verified.
21+
- Make sure there are no trailing spaces in the any of the modified files.
22+
23+
Start coding
24+
------------
25+
26+
- Create a branch to identify the issue you would like to work on (e.g.
27+
`2287-dry-test-suite`)
28+
- Using your favorite editor, make your changes, [committing as you go](https://dont-be-afraid-to-commit.readthedocs.io/en/latest/git/commandlinegit.html#commit-your-changes).
29+
- Make sure there are no trailing spaces in the any of the modified files.
30+
- Include tests that cover any code changes you make. Make sure the test fails
31+
without your patch.
32+
- Push your commits to GitHub and [create a pull request](https://help.github.com/articles/creating-a-pull-request/).
33+
- Celebrate 🎉

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2016-2020 Farhan Ahmed
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)