Skip to content

Instantly share code, notes, and snippets.

@cmhamill
Last active September 13, 2018 00:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cmhamill/a7e39eb576f83292cfb09f2e3d0090ed to your computer and use it in GitHub Desktop.
Save cmhamill/a7e39eb576f83292cfb09f2e3d0090ed to your computer and use it in GitHub Desktop.
Usage files for Compleat (https://github.com/mbrubeck/compleat)
# https://github.com/jay0lee/GAM
groupname = !gam print groups name 2>/dev/null | tail -n +2 | cut -d , -f 2;
group-email = !gam print groups 2>/dev/null | tail -n +2;
orgname = !gam print orgs 2>/dev/null | tail -n +2;
alias = !gam print aliases 2>/dev/null | tail -n +2 | cut -d , -f 1;
domain = !gam print domains 2>/dev/null | tail -n +2 | grep -v ,alias, | cut -d, -f 2;
useropts = firstname <firstname> | lastname <lastname> | org <orgname>
| password <password> | changepassword (on|off) | (sha|md5|crypt) [nohash]
| gal (on|off) | admin (on|off)
;
groupopts = name <groupname> | description <description>
| allow_external_members (true|false)
| message_moderation_level (moderate_all_messaages|moderate_new_members|moderate_none|moderate_non_members)
| primary_language <language-tag>
| reply_to (reply_to_custom|reply_to_ignore|reply_to_list|reply_to_managers|reply_to_owner|reply_to_sender)
| custom_reply_to <email>
| send_message_deny_notificaton (true|false)
| show_in_group_directory (true|false)
| who_can_invite (all_managers_can_invite|all_members_can_invite)
| who_can_join (all_in_domain_can_join|anyone_can_join|can_request_to_join|invited_can_join)
| who_can_post_message (all_in_domain_can_post|all_managers_can_post|all_members_can_post|anyone_can_post|none_can_post)
| who_can_view_group (all_in_domain_can_view|all_managers_can_view|all_members_can_view|anyone_can_view)
| who_can_view_membership (all_in_domain_can_view|all_managers_can_view|all_members_can_view)
| allow_google_communication (true|false)
| allow_web_posting (true|false)
| archive_only (true|false)
| is_archived (true|false)
| max_message_bytes <size>
| members_can_post_as_the_group (true|false)
| message_display_font (default_font|fixed_width_font)
| spam_moderation_level (allow|moderate|silently_moderate|reject)
| include_in_global_address_list (true|false)
| who_can_leave_group (ALL_MEMBERS_CAN_LEAVE|ALL_MANAGERS_CAN_LEAVE)
| who_can_contact_owner (ANYONE_CAN_CONTACT|ALL_IN_DOMAIN_CAN_CONTACT|ALL_MEMBERS_CAN_CONTACT|ALL_MANAGERS_CAN_CONTACT)
;
gam version [check | simple];
gam help;
gam create user <email> [ <useropts> ]...;
gam update user <email> [ <useropts> | username <username> | email <email> ]...;
gam info user <email>
[ nogroups
| noaliases
| nolicenses
| noschemas
| schemas <schema-list>
| userview
]...;
gam delete user <email>;
gam undelete user <email>;
gam create group <group-email> [ <groupopts> ]...;
gam update group <group-email> [ <groupopts> | email <group-email> ]...;
gam update group <group-email> (add|update|sync|remove) (owner|member|manager)
( user <email>
| group <group-email>
| org <orgname>
| all users
| file <filename>
);
gam info group <group-email>;
gam delete group <group-email>;
gam create alias <alias> (user|group|target) <target-email>;
gam update alias <alias> (user|group|target) <target-email>;
gam info alias <alias>;
gam delete alias <alias>;
gam whatis <email>;
gam create domain <domain>;
gam update domain <domain> primary;
gam info domain <domain>;
gam delete domain <domain>;
gam create domainalias <domainalias> <domain>;
gam info domainalias <domainalias>;
gam delete domainalias <domainalias>;
gam update mobile <mobile-id> action
( wipe
| account_wipe
| approve
| block
| cancel_remote_wipe_then_activate
| cancel_remote_wipe_then_block
);
gam info mobile <mobile-id>;
gam delete mobile <mobile-id>;
gam update cros <cros-device-id>
[ user <user-info>
| location <location-info>
| notes <notes-info>
| ou <orgname>
| assetid <asset-id>
]...;
gam info cros <cros-device-id>;A
gam create resource <resource-id> <name>
[ description <description>
| type <resource-type>
]...;
gam update resource <resource-id>
[ description <description>
| type <resource-type>
| name <name>
]...;
gam info resource <resource-id>;
gam delete resource <resource-id>;
gam print aliases [todrive];
gam print cros
[ query <query>
| orderby (location|user|lastsync|serialnumber|supportenddate) [ascending|descending]
| todrive
]...;
gam print domains [todrive];
gam print licenses [todrive];
gam print groups
[ name
| description
| admincreated
| id
| aliases
| members
| owners
| managers
| settings
| todrive
]...;
gam print mobile
[ query <query>
| orderby (deviceid|email|lastsync|model|name|os|status|type) [ascending|descending]
| todrive
]...;
gam print orgs
[ name
| description
| parent
| inherit
| allfields
| todrive
]...;
gam print resources
[ description
| type
| allfields
| todrive
]...;
gam print users
[ allfields
| custom (all|<schema-list>)
| userview
| ims
| emails
| externalids
| relations
| addresses
| organizations
| phones
| licenses
| firstname
| lastname
| emailparts
| deleted_only
| orderby (email|firstname|lastname) [ascending|descending]
| domain
| query <query>
| fullname
| ou
| suspended
| changepassword
| agreed2terms
| admin
| gal
| id
| creationtime
| lastlogintime
| aliases
| groups
| todrive
]...;
# https://github.com/bcicen/slackcat
channel = ! slackcat --list | rg '^\s+(\S+)' -r '$1';
filetype =
( auto
| text
| applescript
| boxnote
| c
| csharp
| cpp
| css
| csv
| clojure
| coffeescript
| cfm
| d
| dart
| diff
| dockerfile
| erlang
| fsharp
| fortran
| go
| groovy
| html
| handlebars
| haskell
| haxe
| java
| javascript
| kotlin
| latex
| lisp
| lua
| markdown
| matlab
| mumps
| ocaml
| objc
| php
| pascal
| perl
| pig
| post
| powershell
| puppet
| python
| r
| ruby
| rust
| sql
| sass
| scala
| scheme
| shell
| smalltalk
| swift
| tsv
| vb
| vbscript
| velocity
| verilog
| xml
| yaml
);
slackcat ( h | help | -h | --help );
slackcat ( -v | --version );
slackcat --configure;
slackcat
[ (-c | --channel) <channel>
| --comment <comment>
| (-n | --filename) <filename>
| --filetype <filetype>
| --list
| --noop
| (-s | --stream)
| (-t | --tee)
| (-u | --username) <username>
]... [<file>];
#!/usr/bin/env bash
last_word="$(echo "${COMP_LINE%$COMP_CWORD}" | awk '{ print $NF }')"
if vcsh list | grep -q -- "$last_word"; then
git help -a | egrep '^ [a-zA-Z0-9]' | grep -ve '--' | xargs -n 1 echo
elif [[ "$COMP_LINE" = *foreach* ]]; then
git help -a | egrep '^ [a-zA-Z0-9]' | grep -ve '--' | xargs -n 1 echo
fi
# https://github.com/RichiH/vcsh
repo = !vcsh list ;
command = !compgen -c ;
# See above.
git-command = !~/.local/libexec/compleat/vcsh-git-commands ;
options = [-c <file> | -d | -v]...;
vcsh <options>
( clone [-b <branch>].. <remote> [<name>]
| commit
| delete <repo>
| enter <repo>
| foreach [-g] <git-command>
| help
| list
| list-tracked [<repo>]
| list-untracked [-a |-r ]... [<repo>]
| pull
| push
| rename <repo> <new-name>
| run <repo> <command>
| status [--terse] [<repo>]
| upgrade <repo>
| version
| which <substring>
| write-gitignore <repo>
| <repo> [<git-command>]
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment