Skip to content

Commit fd7736e

Browse files
authored
Move to monorepo (#510)
* git subrepo clone (merge) https://github.com/cursorless-dev/cursorless-talon.git cursorless-talon subrepo: subdir: "cursorless-talon" merged: "afa65b88" upstream: origin: "https://github.com/cursorless-dev/cursorless-talon.git" branch: "main" commit: "afa65b88" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Set up tests and deploy for cursorless talon subrepo * Cleaner solution
1 parent 5565a61 commit fd7736e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+3584
-1
lines changed

.github/workflows/deploy.yaml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
branches: [main]
88

99
jobs:
10-
deploy:
10+
publish-extension:
1111
runs-on: ubuntu-latest
1212
if: ${{ github.event.workflow_run.conclusion == 'success' }}
1313
environment: production
@@ -33,3 +33,24 @@ jobs:
3333
pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
3434
registryUrl: https://marketplace.visualstudio.com
3535
extensionFile: ${{ steps.publishToOpenVSX.outputs.vsixPath }}
36+
37+
push-cursorless-talon:
38+
name: Push cursorless-talon subrepo
39+
runs-on: ubuntu-latest
40+
needs: publish-extension
41+
environment: production
42+
steps:
43+
- uses: actions/checkout@v2
44+
with:
45+
fetch-depth: 0
46+
path: main
47+
token: ${{ secrets.CURSORLESS_BOT_TOKEN }}
48+
- name: Clone git-subrepo tool
49+
uses: actions/checkout@v2
50+
with:
51+
repository: ingydotnet/git-subrepo
52+
path: git-subrepo
53+
- run: |
54+
source ../git-subrepo/.rc
55+
git subrepo push cursorless-talon
56+
working-directory: main

.github/workflows/test.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,9 @@ jobs:
2727
if: runner.os == 'Linux'
2828
- run: yarn test
2929
if: runner.os != 'Linux'
30+
lint-python:
31+
name: Python lint
32+
runs-on: ubuntu-latest
33+
steps:
34+
- uses: actions/checkout@v2
35+
- uses: psf/black@stable
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @pokey
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# These are supported funding model platforms
2+
3+
github: pokey # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: Lint
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
lint:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: psf/black@stable

cursorless-talon/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.flac
2+
data/
3+
.vscode/settings.json

cursorless-talon/.gitrepo

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
; DO NOT EDIT (unless you know what you are doing)
2+
;
3+
; This subdirectory is a git "subrepo", and this file is maintained by the
4+
; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
5+
;
6+
[subrepo]
7+
remote = https://github.com/cursorless-dev/cursorless-talon.git
8+
branch = main
9+
commit = afa65b88397984b3a9e66702550beaadd23a3f00
10+
parent = bfd4097f4ac0eeaf4db325a05ad238c845cdcaac
11+
method = merge
12+
cmdver = 0.4.3
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# The default ``config.py``
2+
# flake8: noqa
3+
4+
5+
def set_prefs(prefs):
6+
"""This function is called before opening the project"""
7+
8+
# Specify which files and folders to ignore in the project.
9+
# Changes to ignored resources are not added to the history and
10+
# VCSs. Also they are not returned in `Project.get_files()`.
11+
# Note that ``?`` and ``*`` match all characters but slashes.
12+
# '*.pyc': matches 'test.pyc' and 'pkg/test.pyc'
13+
# 'mod*.pyc': matches 'test/mod1.pyc' but not 'mod/1.pyc'
14+
# '.svn': matches 'pkg/.svn' and all of its children
15+
# 'build/*.o': matches 'build/lib.o' but not 'build/sub/lib.o'
16+
# 'build//*.o': matches 'build/lib.o' and 'build/sub/lib.o'
17+
prefs["ignored_resources"] = [
18+
"*.pyc",
19+
"*~",
20+
".ropeproject",
21+
".hg",
22+
".svn",
23+
"_svn",
24+
".git",
25+
".tox",
26+
]
27+
28+
# Specifies which files should be considered python files. It is
29+
# useful when you have scripts inside your project. Only files
30+
# ending with ``.py`` are considered to be python files by
31+
# default.
32+
# prefs['python_files'] = ['*.py']
33+
34+
# Custom source folders: By default rope searches the project
35+
# for finding source folders (folders that should be searched
36+
# for finding modules). You can add paths to that list. Note
37+
# that rope guesses project source folders correctly most of the
38+
# time; use this if you have any problems.
39+
# The folders should be relative to project root and use '/' for
40+
# separating folders regardless of the platform rope is running on.
41+
# 'src/my_source_folder' for instance.
42+
# prefs.add('source_folders', 'src')
43+
44+
# You can extend python path for looking up modules
45+
# prefs.add('python_path', '~/python/')
46+
47+
# Should rope save object information or not.
48+
prefs["save_objectdb"] = True
49+
prefs["compress_objectdb"] = False
50+
51+
# If `True`, rope analyzes each module when it is being saved.
52+
prefs["automatic_soa"] = True
53+
# The depth of calls to follow in static object analysis
54+
prefs["soa_followed_calls"] = 0
55+
56+
# If `False` when running modules or unit tests "dynamic object
57+
# analysis" is turned off. This makes them much faster.
58+
prefs["perform_doa"] = True
59+
60+
# Rope can check the validity of its object DB when running.
61+
prefs["validate_objectdb"] = True
62+
63+
# How many undos to hold?
64+
prefs["max_history_items"] = 32
65+
66+
# Shows whether to save history across sessions.
67+
prefs["save_history"] = True
68+
prefs["compress_history"] = False
69+
70+
# Set the number spaces used for indenting. According to
71+
# :PEP:`8`, it is best to use 4 spaces. Since most of rope's
72+
# unit-tests use 4 spaces it is more reliable, too.
73+
prefs["indent_size"] = 4
74+
75+
# Builtin and c-extension modules that are allowed to be imported
76+
# and inspected by rope.
77+
prefs["extension_modules"] = []
78+
79+
# Add all standard c-extensions to extension_modules list.
80+
prefs["import_dynload_stdmods"] = True
81+
82+
# If `True` modules with syntax errors are considered to be empty.
83+
# The default value is `False`; When `False` syntax errors raise
84+
# `rope.base.exceptions.ModuleSyntaxError` exception.
85+
prefs["ignore_syntax_errors"] = False
86+
87+
# If `True`, rope ignores unresolvable imports. Otherwise, they
88+
# appear in the importing namespace.
89+
prefs["ignore_bad_imports"] = False
90+
91+
# If `True`, rope will insert new module imports as
92+
# `from <package> import <module>` by default.
93+
prefs["prefer_module_from_imports"] = False
94+
95+
# If `True`, rope will transform a comma list of imports into
96+
# multiple separate import statements when organizing
97+
# imports.
98+
prefs["split_imports"] = False
99+
100+
# If `True`, rope will remove all top-level import statements and
101+
# reinsert them at the top of the module when making changes.
102+
prefs["pull_imports_to_top"] = True
103+
104+
# If `True`, rope will sort imports alphabetically by module name instead
105+
# of alphabetically by import statement, with from imports after normal
106+
# imports.
107+
prefs["sort_imports_alphabetically"] = False
108+
109+
# Location of implementation of
110+
# rope.base.oi.type_hinting.interfaces.ITypeHintingFactory In general
111+
# case, you don't have to change this value, unless you're an rope expert.
112+
# Change this value to inject you own implementations of interfaces
113+
# listed in module rope.base.oi.type_hinting.providers.interfaces
114+
# For example, you can add you own providers for Django Models, or disable
115+
# the search type-hinting in a class hierarchy, etc.
116+
prefs[
117+
"type_hinting_factory"
118+
] = "rope.base.oi.type_hinting.factory.default_type_hinting_factory"
119+
120+
121+
def project_opened(project):
122+
"""This function is called after opening the project"""
123+
# Do whatever you like here!
6 Bytes
Binary file not shown.

cursorless-talon/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) 2021 Brandon Virgil Rule
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)