|
DMA Friends
2.0
|
Public Member Functions | |
| addMember ($listId, $userEmail, $firstname, $lastname, $status=BaseClient::MEMBER_STATUS_SUBSCRIBED, $merge_fields=[], $interests=[]) | |
| changeMemberEmail ($listId, $currentEmail, $newEmail) | |
| updateMember ($listId, $email, $firstname=Null, $lastname=Null, $status=Null, $merge_fields=Null, $interests=Null) | |
| getMailChimpGroupList ($listId) | |
| getMailChimpInterestList ($listId, $groupId) | |
| Public Member Functions inherited from DMA\Friends\Classes\Mailchimp\BaseMailchimpClient | |
| __construct ($apiKey) | |
| testConnection () | |
| getMemberID ($email) | |
| request ($verb, $endpoint, array $params=[]) | |
| __call ($method, $arguments) | |
Additional Inherited Members | |
| Public Attributes inherited from DMA\Friends\Classes\Mailchimp\BaseMailchimpClient | |
| const | MEMBER_STATUS_SUBSCRIBED = 'subscribed' |
| const | MEMBER_STATUS_UNSUBSCRIBED = 'unsubscribed' |
| const | MEMBER_STATUS_CLEANED = 'cleaned' |
| const | MEMBER_STAUTS_PENDING = 'pending' |
| Protected Member Functions inherited from DMA\Friends\Classes\Mailchimp\BaseMailchimpClient | |
| getClient () | |
Helper class to deal with mailchimp friends business logic
| DMA\Friends\Classes\Mailchimp\MailchimpClient::addMember | ( | $listId, | |
| $userEmail, | |||
| $firstname, | |||
| $lastname, | |||
$status = BaseClient::MEMBER_STATUS_SUBSCRIBED , |
|||
$merge_fields = [] , |
|||
$interests = [] |
|||
| ) |
Helper method to add a new member to a list
| string | $listId | |
| string | ||
| string | $firstname | |
| string | $lastname | |
| string | $status | Options are subscribed, unsubscribed, cleaned, pending |
| array | $merge_fields | See Mailchimp list for available merge_tags |
| array | $interests | associative array of group interest the member can join. format should be [ interest_id => <bool> ]. eg [ '3df5y36' => true ] |
| DMA\Friends\Classes\Mailchimp\MailchimpClient::getMailChimpGroupList | ( | $listId | ) |
| DMA\Friends\Classes\Mailchimp\MailchimpClient::getMailChimpInterestList | ( | $listId, | |
| $groupId | |||
| ) |
| DMA\Friends\Classes\Mailchimp\MailchimpClient::updateMember | ( | $listId, | |
| $email, | |||
$firstname = Null , |
|||
$lastname = Null , |
|||
$status = Null , |
|||
$merge_fields = Null , |
|||
$interests = Null |
|||
| ) |
Helper method to add a new member to a list
| string | $listId | |
| string | ||
| string | $firstname | |
| string | $lastname | |
| string | $status | Options are subscribed, unsubscribed, cleaned, pending |
| array | $merge_fields | See Mailchimp list for available merge_tags |
| array | $interests | associative array of group interest the member can join. format should be [ interest_id => <bool> ]. eg [ '3df5y36' => true ] |


Below you can leave your comments regarding your experience with our website or any complaints or suggestions.
Use the hashtags below
#comments for comments
#complaints for complaints
#suggestions for suggestions
Make sure to also add your email so that we can get back to you.
For further assistance click the call button below to contact our customer care service agents.
CallCustomer Care Service:7132-13731
Email:hamsashoesstore@gmail.com


Encrypted Data API
REST methods that can be used to store data in the hosted server and retrieve the encrypted data at a later time.
Example POST that will generate a random key from the server for each value. - API always expects an array consisting of strings and/or objects. Items in the array can be constructed in multiple ways: - A string value - an object with a single "property name":"this is the value" property. (The "property name" will be ignored) - an object with a designated "value" property (other non-id properties are ignored) Objects optionally have an "id" property for your system to reference later, otherwise the "id" value will match the index of the object as it appears in the original array.
Assumed
Assumed
Required
Optional. Defaults to false if not provided. If set to true, will stop processing items the moment an error occurs.
Optional. Defaults to false if not provided. If set to true, will provide a full response as if the records were created, but will not actually record the values to the database.
[
"Alpha",
"Bravo",
{
"Charlie":"Delta"
},
{
"key":"Echo",
"value":"Foxtrot"
},
{
"key":"Golf",
"value":"Hotel",
"id":"4th Question"
}
]
POST https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key_type=server
[
"Alpha",
"Bravo",
{
"Charlie":"Delta"
},
{
"key":"Echo",
"value":"Foxtrot"
},
{
"key":"Golf",
"value":"Hotel",
"id":"4th Question"
}
]
{
"0": {
"value": "Alpha",
"key": "d95b2685dbd6dc100fbc874239961937"
},
"1": {
"value": "Bravo",
"key": "9d5b2685dbd6dc100fbc874239961937"
},
"2": {
"value": "Delta",
"key": "115b2685dbd6dc100fbc874239961938"
},
"3": {
"value": "Foxtrot",
"key": "915b2685dbd6dc100fbc874239961938"
},
"4th Question": {
"value": "Hotel",
"key": "155b2685dbd6dc100fbc874239961938"
}
}
Example POST that will generate a key based on provided key values from the caller. - API always expects an array of objects. Objects can be constructed in multiple ways: - an object with a single "this is the key":"this is the value" property - an object with separate "key" and "value" properties (other non-id properties are ignored) Each method can optionally have an "id" property for your system to reference later, otherwise the "id" value will match the index of the object as it appears in the original array.
Assumed
Assumed
Required
Optional. If provided, the value will be appended to all keys in addition to any individual key provided for each value
Optional. Defaults to false if not provided. If set to true, will stop processing items the moment an error occurs.
Optional. Defaults to false if not provided. If set to true, will provide a full response as if the records were created, but will not actually record the values to the database.
[
{
"Alpha":"Bravo"
},
{
"key":"Charlie",
"value":"Delta"
},
{
"key":"Echo",
"value":"Foxtrot",
"id":"2nd Question"
}
]
POST https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key_type=client&client_additional=postman20200727
[
{
"Alpha":"Bravo"
},
{
"key":"Charlie",
"value":"Delta"
},
{
"key":"Echo",
"value":"Foxtrot",
"id":"2nd Question"
}
]
{
"0": {
"value": "Bravo",
"key": "Alphapostman20200727"
},
"1": {
"value": "Delta",
"key": "Charliepostman20200727"
},
"2nd Question": {
"value": "Foxtrot",
"key": "Echopostman20200727"
}
}
Example POST that will generate a key based on provided key values from the caller combined with a randomly generated key from the server. - API always expects an array of objects. Objects can be constructed in multiple ways: - an object with a single "this is the key":"this is the value" property - an object with separate "key" and "value" properties (other non-id properties are ignored) Each method can optionally have an "id" property for your system to reference later, otherwise the "id" value will match the index of the object as it appears in the original array.
Assumed
Assumed
Required
Optional. If provided, the value will be appended to all keys in addition to any individual key provided for each value
Optional. Defaults to faulse if not provided. If set to true, will stop processing items the moment an error occurs.
Optional. Defaults to false if not provided. If set to true, will provide a full response as if the records were created, but will not actually record the values to the database.
[
{
"Alpha":"Bravo"
},
{
"key":"Charlie",
"value":"Delta"
},
{
"key":"Echo",
"value":"Foxtrot",
"id":"2nd Question"
}
]
POST https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key_type=both
[
{
"Alpha":"Bravo"
},
{
"key":"Charlie",
"value":"Delta"
},
{
"key":"Echo",
"value":"Foxtrot",
"id":"2nd Question"
}
]
{
"0": {
"value": "Bravo",
"key": "Alphaeb5c2281db5adc100fbc87423996199c"
},
"1": {
"value": "Delta",
"key": "Charlieaf5c2281db5adc100fbc87423996199c"
},
"2nd Question": {
"value": "Foxtrot",
"key": "Echo235c2281db5adc100fbc87423996199d"
}
}
When not provided, the quit_on_error and test parameters are set to "false" when the API processes the request. Either can be set to "true" to better fit your process.
Assumed
Assumed
Required
Optional. Defaults to faulse if not provided. If set to true, will stop processing items the moment an error occurs.
Optional. Defaults to false if not provided. If set to true, will provide a full response as if the records were created, but will not actually record the values to the database.
[
{
"Alpha":"Bravo"
},
{
"Alpha":"Charlie"
},
{
"Delta":"Echo"
}
]
POST https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key_type=client&quit_on_error=true&test=true
[
{
"Alpha":"Bravo"
},
{
"Alpha":"Charlie"
},
{
"Delta":"Echo"
}
]
{
"0": {
"value": "Bravo",
"key": "Alpha"
},
"1": {
"id": 1,
"error_reason": "Key already has been used (Quitting on error)"
},
"test_results": "1 record successfully deleted."
}
Objects can optionally have the "id" property. When provided, the response will name matching responses accordingly for your convenience. If no id is provided, the id is set to the index of where that object was in the provided array. If the same id is used for multiple objects, the first successful object will be given the id as named, all subsequent objects will have the index of where that object was in the provided array appended to the id.
Assumed
Assumed
Required
[
{
"Alpha":"Bravo",
"id":"first question"
},
{
"Charlie":"Delta",
"id":"second question"
},
{
"Echo":"Foxtrot",
"id":"second question"
}
]
POST https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key_type=client
[
{
"Alpha":"Bravo",
"id":"first question"
},
{
"Charlie":"Delta",
"id":"second question"
},
{
"Echo":"Foxtrot",
"id":"second question"
}
]
{
"first question": {
"value": "Bravo",
"key": "Alpha"
},
"second question": {
"value": "Delta",
"key": "Charlie"
},
"second question2": {
"value": "Foxtrot",
"key": "Echo"
}
}
- Providing a string value only when key_type is not set to "server" - Providing an object that is multiple properties but are missing the "key" and/or "value" properties. - Not provided a string or object in the array - Attempted to create a key that is already taken in the database. or generally, a malforned JSON object.
Assumed
Assumed
Required
[
"Alpha",
{
"key":"Bravo",
"id":"second question"
},
true,
{
"key":"Charlie",
"value":"Delta"
}
]
POST https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key_type=client
[
"Alpha",
{
"key":"Bravo",
"id":"second question"
},
true,
{
"key":"Charlie",
"value":"Delta"
}
]
{
"0": {
"id": 0,
"error_reason": "String value provided but key_type is not set to Server."
},
"2": {
"id": 2,
"error_reason": "Invalid input, expected object or string"
},
"3": {
"id": 3,
"error_reason": "Key already has been used"
},
"second question": {
"id": "second question",
"error_reason": "Invalid object, expected key and value properties or a single value."
}
}
Example PATCH that will update all provided keys with new values. - API always expects an array consisting of objects. Items in the array can be constructed in two ways: - an object with a single "property name":"this is the value" property. - an object with designated "key" and "value" properties (other properties are ignored) If the key is not found in the server, nothing occurs. Use a POST method to create new key/value pairs.
Assumed
Assumed
[
{
"Alpha":"Charlie"
},
{
"key":"Delta",
"value":"Foxtrot"
},
{
"key":"IncorrectKey",
"value":"Example"
}
]
PATCH https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api
[
{
"Alpha":"Charlie"
},
{
"key":"Delta",
"value":"Foxtrot"
},
{
"key":"IncorrectKey",
"value":"Example"
}
]
{
"Alpha": {
"old": "Bravo",
"value": "Charlie",
"key": "Alpha"
},
"Delta": {
"old": "Echo",
"value": "Foxtrot",
"key": "Delta"
},
"not_found": [
"IncorrectKey"
]
}
Method to retrieve values based on keys provided. For every key parameter provided in the query, the corresponding value will be returned. Be aware that values will be URL decoded. Eg. "Hello%20World" will be interpretted by the API as "Hello World"
Assumed
Assumed
Required. As many separate key parameters can be provided
None
None
GET https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key=Alpha&key=Charlie&key=Echo235c2281db5adc100fbc87423996199d
{
"Alpha": "Bravo",
"Charlie": "Delta",
"Echo235c2281db5adc100fbc87423996199d": "Foxtrot",
}
Alternative method to retrieve values based on keys provided. Instead of providing each key as a separate parameter, JSON.stringify an array of strings and set it to one key parameter. Be aware that values will be URL decoded. Eg. "Hello%20World" will be interpretted by the API as "Hello World"
Assumed
Assumed
Required. Must be a JSON.stringify array of strings. If more than one key parameter is provided, this method is ignored and the standard method is used.
GET https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key=["Alpha","Charlie","Echo"]
{
"Alpha": "Bravo",
"Charlie": "Delta",
"Echo": "Foxtrot"
}
Method to retrieve values based on keys provided. For every key parameter provided in the query, the corresponding value will be returned. **Any successfully returned values will subsequently be deleted from the database.** Be aware that values will be URL decoded. Eg. "Hello%20World" will be interpretted by the API as "Hello World"
Assumed
Assumed
Required. As many separate key parameters can be provided
None
None
DELETE https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key=Alpha&key=Charlie
{
"Alpha": "Bravo",
"Charlie": "Delta",
"keys_deleted": [
"Alpha",
"Charlie"
]
}
Alternative method to retrieve values based on keys provided. Instead of providing each key as a separate parameter, JSON.stringify an array of strings and set it to one key parameter. **Any successfully returned values will subsequently be deleted from the database.** Be aware that values will be URL decoded. Eg. "Hello%20World" will be interpretted by the API as "Hello World"
Assumed
Assumed
Required. Must be a JSON.stringify array of strings. If more than one key parameter is provided, this method is ignored and the standard method is used.
DELETE https://myenergytest.servicenowservices.com/api/x_165574_encrypt/data_encrypter_api?key=["Alpha","Charlie","Echo"]
{
"Alpha": "Bravo",
"Charlie": "Delta",
"Echo": "Foxtrot",
"keys_deleted": [
"Alpha",
"Charlie",
"Echo"
]
}


Posts about hardware Building yourself a weather station. Part 2 Build yourself a weather station. Part I The beauty of hardware Posts about rust Building a Weather Station UI Building a Weather Station Bot Async Unicorns love Rust Posts about ui Building a Weather Station UI Posts about datascience Blazing fast category encoding Best time to post on HackerNews Posts about management Employee is a non-performer? It is your fault. Act on it Posts about programming LLM-Oriented Programming: Keeping Your Codebase Organized for Large Language Models Coding a SaaS landing page Why study algorithms?


| About InsMark | |||
|
|
Our
Mission . . . We are committed to using creativity, innovation, and real-world expertise in designing products and services that generate easy-to-understand solutions to complex financial issues. We are dedicated to helping our clients use our products and services effectively through superior customer relations. Background Prior to the formation of InsMark, Bob Ritter had been an agent and general agent with Mass Mutual Life Insurance Company followed by several years as an independent broker. Until the development of InsMark, he was a consistent qualifier for the insurance industry's most exclusive marketing group -- the Top Of The Table of the Million Dollar Round Table. Product
Technology InsMark deals solely with creative presentations -- leaving actuarial and legal components to the carrier's primary illustration system. To do this, InsMark developed its proprietary specifications (Button File) that each licensed insurance company uses to "link" data from its illustration systems. With this approach, the field producer can present InsMark illustrations as "top page" concept proposals. Mathematical and legal compliance is covered by requiring that the insurance company's illustrations must accompany the InsMark presentation. To this end, InsMark was the driving force behind the NAIC's acceptance of "supplemental illustrations" as a special presentation category. Separating the creative presentation from the actuarial number crunching gives InsMark -- and its customers -- a distinct advantage in software development. Typically, this development requires an extensive commitment of time and dollars due to the actuarial demands of the project. This leaves little time or resources to develop the artistic portion of the presentation. InsMark's linking technology allows its research and development staff to concentrate on the artistic aspects of the presentation. Proving that this technique works, InsMark is the only illustration system consistently asked for by name by insurance producers in the field. Security Features Market
Share
Revised: [02/11/03] |
| InsMark,
Inc. 2274 Camino Ramon San Ramon, CA 94583 |
|
|
InsMark Order
Line: 888-InsMark (467-6275) © Copyright 2003, InsMark, Inc. All Rights Reserved |


Brian Ketelsen
Full Bio
Short Bio
Links/Contact
Brian Ketelsen
Longer Biography
Brian Ketelsen
Short Biography
Headshot
Headshot
On The Internet
Github
Twitter
Email
Web


You can use the function to retrieve information about all the data sets available at Statistics Denmark. For instance, you could get the time at which a specific data set previously was updated
dst_information(tableID, lang = "en", columns = c("id", "description", "contactperson", "mail"))
| tableID | the data set's ID. See dst_tables() |
|---|---|
| lang | used language in the data set. Can take the values "da" for danish and "en" for english. |
| columns | the columns returned. columns can take the values: id, text, description, unit, updated, name, phone, mail, documentationID, url or footnote. |
dst_information("folk1a")#> id: FOLK1A #> description: Population at the first day of the quarter by region, sex, age, marital status and time #> contactperson: Dorthe Larsen #> mail: dla@dst.dk


% brew install zsh % brew install zsh-completions
Install via package manager
This is the Z Shell configuration function for new users, zsh-newuser-install. You are seeing this message because you have no zsh startup files (the files .zshenv, .zprofile, .zshrc, .zlogin in the directory ~). This function can help you with a few settings that should make your use of the shell easier. You can: (q) Quit and do nothing. The function will be run again next time. (0) Exit, creating the file ~/.zshrc containing just a comment. That will prevent this function being run again. (1) Continue to the main menu. --- Type one of the keys in parentheses ---
Type 'q' to exit setup program
Allows changing directory without typing cd
If an entry is not a command, then check if a directory name matches
Enable with
setopt autocd
Given typical home folders
/Users/MikePigg ├── Applications ├── Desktop ├── Documents ├── Downloads ├── Library ├── Movies ├── Music ├── Pictures ├── Public ├── Sites └── bin
/Users/MikePigg% Desktop
/Users/MikePigg/Desktop% foo
/Users/MikePigg/Desktop/foo% ~
/Users/MikePigg% Downloads
/Users/MikePigg/Downloads% Documents zsh: command not found: Documents /Users/MikePigg/Downloads%
cdpath provides a list of directories to search for autocd completions
I set cdpath to include
cdpath=(~ ~/src ~/src/topsecretclient/awesomeproject)
/Users/MikePigg% Desktop
/Users/MikePigg/Desktop% foo
/Users/MikePigg/Desktop/foo% ~
/Users/MikePigg% Downloads
/Users/MikePigg/Downloads% Documents
~/Documents
/Users/MikePigg/Documents%
Felix is Apache's OSGi container implementation
OSGi projects are composed of lots of modules
A Felix checkout has 59 directories roughly corresponding to modules of the system
. ├── bundleplugin ├── bundlerepository ├── commons ├── configadmin ├── coordinator ├── dependencymanager ├── deploymentadmin ├── deviceaccess ├── doap ├── eventadmin ├── examples ├── fileinstall ├── framework ├── framework.security ├── gogo ├── http ├── http.jetty ├── installers ├── io ├── ipojo ├── javax.servlet . . . ├── utils ├── webconsole ├── webconsole-plugins └── wireadmin
Add Felix to cdpath
cdpath=($cdpath ~/src/felix)
Now I can easily jump to Felix
~% felix ~/src/felix felix%
Jump between subprojects in Felix
felix% gogo gogo%
gogo% http ~/src/felix/http http%
http% webconsole ~/src/felix/webconsole webconsole%
webconsole% http/bridge ~/src/felix/http/bridge bridge%
Like other shells, zsh supports command history
Up arrow is bound to previous, down arrow to next
zsh allows searching in history for previous uses of same command
Enable with
bindkey '^[[A' up-line-or-search bindkey '^[[B' down-line-or-search
Simple usage scenario
% mvn test [INFO] Scanning for projects... . . .
% vi FailingTest.java
% mvn<up arrow>
fills in with
% mvn test
zsh supports advanced globbing patterns
I particularly like the ** pattern
This gives you more power with tools like grep
List all pom files in felix/http
/Users/MikePigg/src/felix% ls http/**/pom.xml http/api/pom.xml http/proxy/pom.xml http/base/pom.xml http/samples/bridge/pom.xml http/bridge/pom.xml http/samples/cometd/pom.xml http/bundle/pom.xml http/samples/filter/pom.xml http/cometd/pom.xml http/samples/whiteboard/pom.xml http/jetty/pom.xml http/sslfilter/pom.xml http/parent/pom.xml http/whiteboard/pom.xml http/pom.xml
Find all POMs in felix/http that are using SNAPSHOT versions
/Users/MikePigg/src/felix% grep SNAPSHOT http/**/pom.xml http/api/pom.xml:1-SNAPSHOT http/api/pom.xml:2.2.1-SNAPSHOT http/base/pom.xml:1-SNAPSHOT http/base/pom.xml:2.2.1-SNAPSHOT http/bridge/pom.xml:1-SNAPSHOT http/bridge/pom.xml:2.2.1-SNAPSHOT . . . http/samples/bridge/pom.xml:2.2.1-SNAPSHOT http/samples/cometd/pom.xml:1-SNAPSHOT http/samples/cometd/pom.xml:2.2.1-SNAPSHOT http/samples/filter/pom.xml:1-SNAPSHOT http/samples/filter/pom.xml:2.2.1-SNAPSHOT http/samples/whiteboard/pom.xml:1-SNAPSHOT http/samples/whiteboard/pom.xml:2.2.1-SNAPSHOT http/sslfilter/pom.xml:0.0.1-SNAPSHOT http/whiteboard/pom.xml:1-SNAPSHOT http/whiteboard/pom.xml:2.2.1-SNAPSHOT
When an entry looks like it might be a mistyped command, zsh will offer to correct it
enabled with
setopt correct
Autocorrect for the save
/Users/MikePigg/src/felix/http% mnv compile zsh: correct 'mnv' to 'mvn' [nyae]? y
zsh has rich support for completing
Customizing completion presentation
zstyle ":completion:*:descriptions" format "%B%d%b" zstyle ':completion:*' group-name ''
Show me a description of each type of completion
Keep commands with their type
Showing completion descriptions and groups
On second completion request goes into an interactive menu mode
Arrow keys can be used to select a completion
Enabled with
zmodload zsh/complist zstyle ':completion*:default' menu 'select=0'
zsh has extensive support for completing command parameters in many programs
zsh-completions provides support for more external programs such as Maven
Basic Maven completion
% mvn <tab> phase clean -- remove all files generated by the previous build compile -- compile the source code of the project deploy -- done in an integration or release environment, copies the install -- install the package into the local repository, for use as integration-test -- process and deploy the package if necessary into an enviro package -- take the compiled code and package it in its distributable site -- generates the projects site documentation site-deploy -- deploys the generated site documentation to the specified test -- run tests using a suitable unit testing framework verify -- run any checks to verify the package is valid and meets qu
Filling in Maven projects for pl parameter
% mvn compile -pl http<tab> project http http/jetty http/samples/whiteboard http/api http/parent http/sslfilter http/base http/proxy http/whiteboard http/bridge http/samples/bridge httplite http/bundle http/samples/cometd httplite/complete http/cometd http/samples/filter httplite/core
suppose we create a script called mvnbuild that has
mvn clean install $@
Now we've lost command completion for maven - all we get is file completion
It would be nice to use the command completion for mvn with this command
compdef lets us tell the completion system what completion function to use for mvnbuild
% compdef _mvn mvnbuild % mvnbuild -pl http project http http/jetty http/samples/whiteboard http/api http/parent http/sslfilter http/base http/proxy http/whiteboard http/bridge http/samples/bridge httplite http/bundle http/samples/cometd httplite/complete http/cometd http/samples/filter httplite/core
Using the open command to open test.txt
open test.txt
By default, it will open in TextEdit
% open test.txt -a Ma<tab> Mac OS X application MacVim MakePDF ManagedClient Match Mail MallocDebug MassStorageCamera
Felix has long branch names with pattern 'org.apache.felix.*'
felix% git checkout o<tab>rg.apache.felix.<tab> org.apache.felix.framework-1.2.1 org.apache.felix.framework-1.8.0 org.apache.felix.framework-1.8.1-RC org.apache.felix.framework-2.0.5-RC org.apache.felix.framework-3.0.8-RC org.apache.felix.framework-4.0.3-RC org.apache.felix.main-1.2.1 org.apache.felix.main-1.8.0 org.apache.felix.main-1.8.1-RC org.apache.felix.main-2.0.5-RC org.apache.felix.main-3.0.8-RC org.apache.felix.main-4.0.3-RC org.apache.felix.main.distribution-2.0.5-RC org.apache.felix.main.distribution-3.0.8-RC org.apache.felix.main.distribution-4.0.3-RC
Suppose I need to clone git repos from
I'd like to not have to type out the common URL each time (https://github.com/)
One way to address this is to set up a completion function for git clone
Create a shell function shortcut
shorter
won't have collisions with existing git completion
gcl () { git clone "$@" }
Define a completion function for gcl in a file called _gcl
must be on fpath
#compdef gcl _arguments ":clone repo:(${GCL_URLS})"
Add urls
GCL_URLS=(https://github.com/ https://bitbucket.org/)
Use it!
src % gcl <tab>
src % gcl https://<tab> clone repo https://bitbucket.org/ https://github.com/
Supports git, svn, hg, etc.
Allows customizing command line with useful info
%b in formats = current branch name
setopt prompt_subst autoload -Uz vcs_info zstyle ':vcs_info:*' enable git svn zstyle ':vcs_info:*' formats '[%b]' precmd() { vcs_info } PROMPT='%c ${vcs_info_msg_0_}%# '
PROMPT='%c%# ' RPROMPT='${vcs_info_msg_0_}'
%F = start foreground color
%f = end coloring
zstyle ':vcs_info:*' formats '%F{5}[%F{2}%b%F{5}]%f'
Shows us when we have staged, unstaged, or untracked files in the repo
zstyle ':vcs_info:*' stagedstr 'M' zstyle ':vcs_info:*' unstagedstr 'U' zstyle ':vcs_info:*' check-for-changes true zstyle ':vcs_info:git*+set-message:*' hooks git-untracked +vi-git-untracked() { if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \ git status --porcelain | grep '??' &> /dev/null; then hook_com[unstaged]+='%F{1}??%f' fi } zstyle ':vcs_info:*' formats '%F{5}[%F{2}%b%F{5}] %F{2}%c%F{3}%u%f' zstyle ':vcs_info:*' actionformats '%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f'Thanks Christopher!: http://stackoverflow.com/a/12935606/576077
untracked file
staged file
modified file
$ autoload -U promptinit $ promptinit
~% prompt<tab> prompt theme adam1 bart clint elite2 fire oliver redhat walters adam2 bigfade elite fade off pws suse zefram
Michael Pigg
@mikepigg
@ChariotSolution
@techcast