├── features
├── support
│ └── aruba.rb
├── steps.rb
└── rules.feature
├── Gemfile
├── fixtures
├── Usage
│ ├── test.md
│ └── .vale.ini
├── Latin
│ ├── .vale.ini
│ └── test.md
├── Terms
│ ├── .vale.ini
│ └── test.md
├── Structure
│ ├── .vale.ini
│ └── test.md
├── Capitalization
│ ├── .vale.ini
│ └── test.md
└── Punctuation
│ ├── .vale.ini
│ └── test.md
├── IBM
├── OxfordComma.yml
├── SentenceLength.yml
├── Abbreviations.yml
├── Ellipses.yml
├── Headings.yml
├── DashSpacing.yml
├── Latin.yml
├── Definitions.yml
├── Usage.yml
└── Terms.yml
├── .yamllint.yml
├── .travis.yml
├── LICENSE
├── .gitignore
└── README.md
/features/support/aruba.rb:
--------------------------------------------------------------------------------
1 | require 'aruba/cucumber'
2 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | gem 'aruba', '~> 0.14.3'
4 |
--------------------------------------------------------------------------------
/fixtures/Usage/test.md:
--------------------------------------------------------------------------------
1 | # Word usage guidelines for IBM
2 |
3 | We are ready to deploy the style.
4 |
--------------------------------------------------------------------------------
/fixtures/Latin/.vale.ini:
--------------------------------------------------------------------------------
1 | StylesPath = ../../
2 |
3 | MinAlertLevel = suggestion
4 |
5 | [*.md]
6 | IBM.Latin = YES
7 |
--------------------------------------------------------------------------------
/fixtures/Terms/.vale.ini:
--------------------------------------------------------------------------------
1 | StylesPath = ../../
2 |
3 | MinAlertLevel = suggestion
4 |
5 | [*.md]
6 | IBM.Terms = YES
7 |
--------------------------------------------------------------------------------
/fixtures/Usage/.vale.ini:
--------------------------------------------------------------------------------
1 | StylesPath = ../../
2 |
3 | MinAlertLevel = suggestion
4 |
5 | [*.md]
6 | IBM.Usage = YES
7 |
--------------------------------------------------------------------------------
/fixtures/Structure/.vale.ini:
--------------------------------------------------------------------------------
1 | StylesPath = ../../
2 |
3 | MinAlertLevel = suggestion
4 |
5 | [*.md]
6 | IBM.SentenceLength = YES
7 |
--------------------------------------------------------------------------------
/fixtures/Terms/test.md:
--------------------------------------------------------------------------------
1 | # Terminology tests for IBM
2 |
3 | Look at the bottom-left of your screen.
4 |
5 | There are a number of options.
6 |
--------------------------------------------------------------------------------
/fixtures/Capitalization/.vale.ini:
--------------------------------------------------------------------------------
1 | StylesPath = ../../
2 |
3 | MinAlertLevel = suggestion
4 |
5 | [*.md]
6 | IBM.Headings = YES
7 | IBM.Definitions = YES
8 |
--------------------------------------------------------------------------------
/fixtures/Latin/test.md:
--------------------------------------------------------------------------------
1 | # Use of Latin abbreviations
2 |
3 | 1, 2, 3, etc.
4 |
5 | Here's an example sentence -- i.e., one that should raise an alert.
6 |
7 | This vs. that.
8 |
--------------------------------------------------------------------------------
/features/steps.rb:
--------------------------------------------------------------------------------
1 | cmd = 'vale --output=line --sort --normalize --relative'
2 |
3 | When(/^I test "(.*)"$/) do |rule|
4 | step %(I cd to "../../fixtures/#{rule}")
5 | step %(I run `#{cmd} .`)
6 | end
7 |
--------------------------------------------------------------------------------
/fixtures/Punctuation/.vale.ini:
--------------------------------------------------------------------------------
1 | StylesPath = ../../
2 |
3 | MinAlertLevel = suggestion
4 |
5 | [*.md]
6 | IBM.Ellipses = YES
7 | IBM.Abbreviations = YES
8 | IBM.OxfordComma = YES
9 | IBM.DashSpacing = YES
10 |
--------------------------------------------------------------------------------
/IBM/OxfordComma.yml:
--------------------------------------------------------------------------------
1 | extends: existence
2 | message: "Use the Oxford comma in '%s'."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#N106BF'
4 | level: suggestion
5 | tokens:
6 | - '(?:[^,]+,){1,}\s\w+\sand'
7 |
--------------------------------------------------------------------------------
/IBM/SentenceLength.yml:
--------------------------------------------------------------------------------
1 | extends: occurrence
2 | message: "Try to keep sentences less than 25 words."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#N106FB'
4 | scope: sentence
5 | level: suggestion
6 | max: 25
7 | token: \b(\w+)\b
8 |
--------------------------------------------------------------------------------
/IBM/Abbreviations.yml:
--------------------------------------------------------------------------------
1 | extends: existence
2 | message: "Do not use periods in all-uppercase abbreviations such as '%s'."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#N100DC'
4 | level: error
5 | nonword: true
6 | tokens:
7 | - '\b(?:[A-Z]\.){3,5}'
8 |
--------------------------------------------------------------------------------
/IBM/Ellipses.yml:
--------------------------------------------------------------------------------
1 | extends: existence
2 | message: "Avoid the ellipsis (...) except to indicate omitted words."
3 | link: https://www.ibm.com/developerworks/library/styleguidelines/index.html
4 | nonword: true
5 | level: warning
6 | action:
7 | name: remove
8 | tokens:
9 | - '\.\.\.'
10 | - '…'
11 |
--------------------------------------------------------------------------------
/.yamllint.yml:
--------------------------------------------------------------------------------
1 | rules:
2 | # We only include a single document (without directives) in our rules, so
3 | # the extra markup is unnecessary.
4 | document-start: disable
5 | # Many rules include a `link` key that can be relatively long.
6 | #
7 | # TODO: Should we change this?
8 | line-length: disable
9 |
--------------------------------------------------------------------------------
/IBM/Headings.yml:
--------------------------------------------------------------------------------
1 | extends: capitalization
2 | message: "'%s' should use sentence-style capitalization."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#N1030C'
4 | level: suggestion
5 | scope: heading
6 | match: $sentence
7 | indicators:
8 | - ':'
9 | exceptions:
10 | - IBM
11 |
--------------------------------------------------------------------------------
/IBM/DashSpacing.yml:
--------------------------------------------------------------------------------
1 | extends: existence
2 | message: "Add spaces around the dash in '%s'."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#N106BF'
4 | ignorecase: true
5 | nonword: true
6 | level: error
7 | action:
8 | name: edit
9 | params:
10 | - remove
11 | - ' '
12 | tokens:
13 | - '[^\s][—–][^\s]'
14 |
--------------------------------------------------------------------------------
/fixtures/Structure/test.md:
--------------------------------------------------------------------------------
1 | # Structure
2 |
3 | Keep sentences short, 25 words or fewer. Emphasize important points with the occasional short sentence (fewer than 10 words).
4 |
5 | If your docs are aimed at helping `people` code, then probably that "previous developer experience" is a good way to go, preferably with details on the specific languages/environments they'll be writing about.
6 |
--------------------------------------------------------------------------------
/IBM/Latin.yml:
--------------------------------------------------------------------------------
1 | extends: substitution
2 | message: "Use '%s' instead of '%s'."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#wordlist'
4 | ignorecase: true
5 | level: error
6 | nonword: true
7 | action:
8 | name: replace
9 | swap:
10 | '\b(?:eg|e\.g\.)[\s,]': for example
11 | '\b(?:ie|i\.e\.)[\s,]': that is
12 | '\betc\.': and so on
13 | '\bvs\.': versus
14 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: python
2 | cache: bundler
3 | python:
4 | - "3.6"
5 | install:
6 | # Install the latest release of Vale:
7 | - curl -sL https://install.goreleaser.com/github.com/ValeLint/vale.sh | bash
8 | - export PATH=./bin:"$PATH"
9 |
10 | - bundle install --jobs=3
11 |
12 | - pip install yamllint
13 | - pip install markdata
14 | - pip install pyyaml
15 | before_script:
16 | - yamllint -c '.yamllint.yml' IBM
17 | script:
18 | - cucumber
19 | - zip -r IBM.zip IBM -x "*.DS_Store"
20 | deploy:
21 | provider: releases
22 | api_key: $GITHUB_TOKEN
23 | file: IBM.zip
24 | skip_cleanup: true
25 | on:
26 | tags: true
27 |
--------------------------------------------------------------------------------
/fixtures/Punctuation/test.md:
--------------------------------------------------------------------------------
1 | # Ellipses tests for IBM
2 |
3 | That was ... strange. And that … was also strange.
4 |
5 | ## Abbreviation style
6 |
7 | Do not use periods in all-uppercase abbreviations, such as SWAT or IBM.
8 |
9 | I.B.M.
10 |
11 | S.W.A.T.
12 |
13 | ## Commas
14 |
15 | In a series of items connected by "and" or "or," retain the comma before the "and" and "or."
16 |
17 | It comes in red, blue and green.
18 |
19 | ## Dashes
20 |
21 | Use the mdash (``) to signal a brief and relevant detour in thought. Keep spaces on both sides of the dash.
22 |
23 | Here's an idea—we should use spaces around dashes.
24 |
25 | Here's an idea — we should use spaces around dashes.
26 |
--------------------------------------------------------------------------------
/fixtures/Capitalization/test.md:
--------------------------------------------------------------------------------
1 | # Capitalization
2 |
3 | > Use sentence-style capitalization for headings and captions; that is, capitalize only the first letter of the first word and any proper nouns or acronyms.
4 |
5 | ## Lambda expressions: Higher-order functions at last
6 |
7 | > In text, capitalize the first word after a colon only if it starts a complete sentence. But always capitalize the first word after a colon in headings and captions.
8 |
9 | ### Lambda Expressions
10 |
11 | ## Define technical terms and avoid jargon
12 |
13 | You can make use of MDBs to do that.
14 |
15 | You can make use of message-driven beans (MDBs) to do that.
16 |
17 | You can make use of MDBs to do that.
18 |
19 | According to Wikipedia, the World Health Organization (WHO) is a specialized agency of the United Nations that is concerned with international public health. We can now use WHO because it has been defined, but we can't use DAFB because people may not know what it represents. We can use `DAFB` when it's presented as code, though.
20 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 errata.ai
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.
22 |
--------------------------------------------------------------------------------
/IBM/Definitions.yml:
--------------------------------------------------------------------------------
1 | extends: conditional
2 | message: "Define acronyms and abbreviations (such as '%s') on first occurrence if they're likely to be unfamiliar."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#N100DC'
4 | level: suggestion
5 | ignorecase: false
6 | # Ensures that the existence of 'first' implies the existence of 'second'.
7 | first: '\b([A-Z]{3,5}s?)\b'
8 | second: '\(([A-Z]{3,5}s?)\)'
9 | # ... with the exception of these:
10 | exceptions:
11 | - API
12 | - ASP
13 | - CLI
14 | - CPU
15 | - CSS
16 | - CSV
17 | - DEBUG
18 | - DOM
19 | - DPI
20 | - FAQ
21 | - GCC
22 | - GDB
23 | - GET
24 | - GPU
25 | - GTK
26 | - GUI
27 | - HTML
28 | - HTTP
29 | - HTTPS
30 | - IDE
31 | - JAR
32 | - JSON
33 | - JSX
34 | - LESS
35 | - LLDB
36 | - NET
37 | - NOTE
38 | - NVDA
39 | - OSS
40 | - PATH
41 | - PDF
42 | - PHP
43 | - POST
44 | - RAM
45 | - REPL
46 | - RSA
47 | - SCM
48 | - SCSS
49 | - SDK
50 | - SQL
51 | - SSH
52 | - SSL
53 | - SVG
54 | - SWAT
55 | - TBD
56 | - TCP
57 | - TODO
58 | - URI
59 | - URL
60 | - USB
61 | - UTF
62 | - XML
63 | - XSS
64 | - YAML
65 | - ZIP
66 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.gem
2 | *.rbc
3 | /.config
4 | /coverage/
5 | /InstalledFiles
6 | /pkg/
7 | /spec/reports/
8 | /spec/examples.txt
9 | /test/tmp/
10 | /test/version_tmp/
11 | /tmp/
12 |
13 | # Used by dotenv library to load environment variables.
14 | # .env
15 |
16 | ## Specific to RubyMotion:
17 | .dat*
18 | .repl_history
19 | build/
20 | *.bridgesupport
21 | build-iPhoneOS/
22 | build-iPhoneSimulator/
23 |
24 | ## Specific to RubyMotion (use of CocoaPods):
25 | #
26 | # We recommend against adding the Pods directory to your .gitignore. However
27 | # you should judge for yourself, the pros and cons are mentioned at:
28 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
29 | #
30 | # vendor/Pods/
31 |
32 | ## Documentation cache and generated files:
33 | /.yardoc/
34 | /_yardoc/
35 | /doc/
36 | /rdoc/
37 |
38 | ## Environment normalization:
39 | /.bundle/
40 | /vendor/bundle
41 | /lib/bundler/man/
42 |
43 | # for a library or gem, you might want to ignore these files since the code is
44 | # intended to run in multiple environments; otherwise, check them in:
45 | # Gemfile.lock
46 | # .ruby-version
47 | # .ruby-gemset
48 |
49 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
50 | .rvmrc
51 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # IBM
2 | A [Vale-compatible](https://github.com/errata-ai/vale) linter style that replicates the [IBM's Developer Editorial Style Guide](https://web.archive.org/web/20210126213122/https://www.ibm.com/developerworks/library/styleguidelines/index.html).
3 |
4 | ## Getting Started
5 |
6 | > :exclamation: IBM requires Vale >= **1.7.0**. :exclamation:
7 |
8 | Download the [latest release](https://github.com/errata-ai/IBM/releases), copy the "IBM" directory to your `StylesPath`, and include it in your configuration file:
9 |
10 | ```ini
11 | # This goes in a file named either `.vale.ini` or `_vale.ini`.
12 | StylesPath = path/to/some/directory
13 | MinAlertLevel = warning # suggestion, warning or error
14 |
15 | # Only Markdown and .txt files; change to whatever you're using.
16 | [*.{md,txt}]
17 | # List of styles to load.
18 | BasedOnStyles = IBM
19 | ```
20 |
21 | See the [documentation](https://vale.sh/) for more information.
22 |
23 | ## Repository Structure
24 |
25 |
26 | /IBM
27 | - The YAML-based rule implementations that make up our style.
28 |
29 | /fixtures
30 | - The individual unit tests. Each directory should be named after a rule found in
/Microsoft and include its own .vale.ini file that isolates its target rule.
31 |
32 | /features
33 | - The Cucumber Step Definitions we use to test our fixtures. Essentially, we use the aruba framework to test Vale's output after running it on each of our fixture directories.
34 |
35 |
36 | ## Extension Points
37 |
38 | | Check | Implementation(s) |
39 | |:------------:|:---------------------------------------------------:|
40 | | [`existence`](https://vale.sh/docs/checks/existence) | [`Terms.yml`](https://github.com/errata-ai/IBM/blob/master/IBM/Terms.yml) |
41 | | [`substitution`](https://vale.sh/docs/checks/substitution) | [`Checkusage.yml`](https://github.com/errata-ai/Microsoft/blob/master/Microsoft/Checkusage.yml) |
42 |
--------------------------------------------------------------------------------
/features/rules.feature:
--------------------------------------------------------------------------------
1 | Feature: Rules
2 |
3 | Scenario: Incorrect Terminology
4 | When I test "Terms"
5 | Then the output should contain exactly:
6 | """
7 | test.md:3:13:IBM.Terms:Consider using 'lower left or lower-left' instead of 'bottom-left'
8 | test.md:5:11:IBM.Terms:Consider using 'several' instead of 'a number of'
9 | """
10 |
11 | Scenario: Word Usage
12 | When I test "Usage"
13 | Then the output should contain exactly:
14 | """
15 | test.md:3:1:IBM.Usage:Verify your use of 'We' with the word usage guidelines.
16 | test.md:3:17:IBM.Usage:Verify your use of 'deploy' with the word usage guidelines.
17 | """
18 |
19 | Scenario: Use of punctuation
20 | When I test "Punctuation"
21 | Then the output should contain exactly:
22 | """
23 | test.md:3:10:IBM.Ellipses:Avoid the ellipsis (...) except to indicate omitted words.
24 | test.md:3:32:IBM.Ellipses:Avoid the ellipsis (...) except to indicate omitted words.
25 | test.md:9:1:IBM.Abbreviations:Do not use periods in all-uppercase abbreviations such as 'I.B.M.'.
26 | test.md:11:1:IBM.Abbreviations:Do not use periods in all-uppercase abbreviations such as 'S.W.A.T.'.
27 | test.md:17:1:IBM.OxfordComma:Use the Oxford comma in 'It comes in red, blue and'.
28 | test.md:23:14:IBM.DashSpacing:Add spaces around the dash in 'a—w'.
29 | """
30 |
31 | Scenario: Use of Latin abbreviations
32 | When I test "Latin"
33 | Then the output should contain exactly:
34 | """
35 | test.md:3:10:IBM.Latin:Use 'and so on' instead of 'etc.'.
36 | test.md:5:31:IBM.Latin:Use 'that is' instead of 'i.e.,'.
37 | test.md:7:6:IBM.Latin:Use 'versus' instead of 'vs.'.
38 | """
39 |
40 | Scenario: Capitalization
41 | When I test "Capitalization"
42 | Then the output should contain exactly:
43 | """
44 | test.md:9:5:IBM.Headings:'Lambda Expressions' should use sentence-style capitalization.
45 | test.md:13:21:IBM.Definitions:Define acronyms and abbreviations (such as 'MDBs') on first occurrence if they're likely to be unfamiliar.
46 | test.md:19:224:IBM.Definitions:Define acronyms and abbreviations (such as 'DAFB') on first occurrence if they're likely to be unfamiliar.
47 | """
48 |
49 | Scenario: Content Structure
50 | When I test "Structure"
51 | Then the output should contain exactly:
52 | """
53 | test.md:5:1:IBM.SentenceLength:Try to keep sentences less than 25 words.
54 | """
55 |
--------------------------------------------------------------------------------
/IBM/Usage.yml:
--------------------------------------------------------------------------------
1 | extends: existence
2 | message: "Verify your use of '%s' with the word usage guidelines."
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#wordlist'
4 | ignorecase: true
5 | level: warning
6 | tokens:
7 | # This need its own rule since it doesn't have a left-hand word boundary.
8 | # - (s)
9 |
10 | # These also need their own rule:
11 | # - neither ... nor
12 | # - if...then
13 |
14 | - 'pop-up (?:help|menu)'
15 | - 'redbook(:s)?'
16 | - about
17 | - above
18 | - across
19 | - actionable
20 | - allow
21 | - alpha
22 | - alphabetic
23 | - alphabetical
24 | - and so on
25 | - architect
26 | - architected
27 | - as
28 | - as well as
29 | - assembler
30 | - attach
31 | - below
32 | - best-of-breed
33 | - between
34 | - billion
35 | - bitness
36 | - black box
37 | - board
38 | - both
39 | - bring up
40 | - business partner
41 | - cache
42 | - camel case
43 | - carry out
44 | - catch
45 | - central processing unit
46 | - check
47 | - choose
48 | - combination box
49 | - combo box
50 | - command console
51 | - Common Base Event
52 | - complete
53 | - congratulations
54 | - connect
55 | - consumability
56 | - consume
57 | - could
58 | - CPU
59 | - customers
60 | - daughterboard
61 | - decompress
62 | - decompressed
63 | - deploy
64 | - designed to
65 | - display
66 | - domestic
67 | - done
68 | - due to
69 | - either
70 | - EPUB
71 | - execute
72 | - fatal
73 | - foo
74 | - foobar
75 | - foreign
76 | - free
77 | - freeze
78 | - fubar
79 | - functionality
80 | - geography
81 | - green screen
82 | - guarantee
83 | - hard boot
84 | - hash
85 | - hash sign
86 | - higher
87 | - hit
88 | - hover help
89 | - illegal
90 | - impact
91 | - info center
92 | - infocenter
93 | - information center
94 | - ingest
95 | - internationalize
96 | - invoke
97 | - itself
98 | - Java Development Kit \(JDK\)
99 | - kill
100 | - latest
101 | - legacy
102 | - let
103 | - like
104 | - lite
105 | - localize
106 | - look and feel
107 | - look-and-feel
108 | - machine
109 | - master and slave
110 | - migrate
111 | - native
112 | - new
113 | - once
114 | - out-of-the-box
115 | - overhead
116 | - panel
117 | - partner
118 | - permit
119 | - please
120 | - pound sign
121 | - program temporary fix
122 | - proper
123 | - pull-down
124 | - quote
125 | - quoted
126 | - refer to
127 | - repair
128 | - reside
129 | - respective
130 | - respectively
131 | - select
132 | - selected
133 | - should
134 | - simply
135 | - since
136 | - slave
137 | - so
138 | - soft boot
139 | - Solution Partnership Centers
140 | - some
141 | - store
142 | - system
143 | - tab
144 | - text entry field
145 | - text field
146 | - that
147 | - themselves
148 | - then
149 | - there are
150 | - there is
151 | - this means
152 | - through
153 | - throw
154 | - throwable
155 | - time to value
156 | - time-tested
157 | - translate
158 | - trillion
159 | - twistie
160 | - twisty
161 | - uncompressed
162 | - unmount
163 | - updatable
164 | - upgrade
165 | - users
166 | - using
167 | - very
168 | - we
169 | - where
170 | - whether or not
171 | - which
172 | - while
173 | - would
174 |
--------------------------------------------------------------------------------
/IBM/Terms.yml:
--------------------------------------------------------------------------------
1 | extends: substitution
2 | message: Consider using '%s' instead of '%s'
3 | link: 'https://www.ibm.com/developerworks/library/styleguidelines/index.html#wordlist'
4 | level: error
5 | ignorecase: true
6 | action:
7 | name: replace
8 | # swap maps tokens in form of bad: good
9 | swap:
10 | '(?:Ctrl|control)-click': press Ctrl and click
11 | 'a lot(?: of)?': many|much
12 | 'backward(?:-)?compatible': compatible with earlier versions
13 | 'bottom(?:-)?left': lower left|lower-left
14 | 'bottom(?:-)?right': lower right|lower-right
15 | 'down(?:-)?level': earlier|previous|not at the latest level
16 | 'mash(?: )?up': create
17 | 'pop-up (?:blocker|killer)': software to block pop-up ad windows
18 | 're(?:-)?occur': recur
19 | 'sort(?:-|/)?merge': sort|merge
20 | 'top(?:-)?left': upper left|upper right|upper-left|upper-right
21 | 'top(?:-)?right': upper left|upper right|upper-left|upper-right
22 |
23 | # These are currenly invalid patterns.
24 | #
25 | # dismiss (a window, a dialog box): close
26 | # position (a cursor): move
27 | # spawn (a process): create
28 | # strike (a key): press|type
29 | # touch (a key): press|type
30 |
31 | a number of: several
32 | abort: cancel|stop
33 | administrate: administer
34 | all caps: uppercase
35 | and/or: a or b|a, b, or both
36 | as long as: if|provided that
37 | as per: according to|as|as in
38 | back-level: earlier|previous|not at the latest level
39 | Big Blue: IBM
40 | blink: flash
41 | blue screen of death: stop error
42 | breadcrumbing: breadcrumb trail
43 | canned: preplanned|preconfigured|predefined
44 | case insensitive: not case-sensitive
45 | catastrophic error: unrecoverable error
46 | CBE: Common Base Event
47 | CBTS: CICS BTS|BTS
48 | cold boot: hardware restart
49 | cold start: hardware restart
50 | comes with: includes
51 | componentization: component-based development|component model|component architecture|shared components
52 | componentize: develop components
53 | comprised of: consist of
54 | connect with: connect to
55 | context menu: menu|pop-up menu
56 | contextual help: help|context-sensitive help
57 | crash: fail|lock up|stop|stop responding
58 | CRUD: create retrieve update and delete
59 | customer: client
60 | datum: data
61 | debuggable: debug
62 | deconfigure: unconfigure
63 | deinstall: uninstall
64 | deinstallation: uninstallation
65 | demilitarized zone: DMZ
66 | demo: demonstration
67 | depress: press|type
68 | deregister: unregister
69 | desire: want|required
70 | destroy: delete from the database
71 | dismount: demount|unmount|remove
72 | do: complete|perform
73 | downgrade: upgrade|fallback|fall back|rollback|roll back
74 | downward compatible: compatible with earlier versions
75 | drag and drop: drag
76 | drill up: navigate
77 | e-fix: fix|interim fix
78 | eFix: fix|interim fix
79 | end user: user
80 | end-user interface: graphical interface|interface
81 | EUI: graphical user interface|interface
82 | expose: display|show|make available
83 | fill in: complete|enter|specify
84 | fixed disk drive: hard disk drive
85 | flavor: version|method
86 | floppy disk: diskette|diskette drive
87 | floppy drive: diskette|diskette drive
88 | floppy: diskette|diskette drive
89 | forward compatible: compatible with later versions
90 | gzip: compress
91 | gzipped: archive|compressed file
92 | hard drive: hard disk|hard disk drive
93 | hard file: hard disk|hard disk drive
94 | hence: therefore
95 | i-fix: interim fix
96 | i-Fix: interim fix
97 | IBM's: IBM's|IBM's AIX
98 | ifix: interim fix
99 | iFix: interim fix
100 | in order to: to
101 | in other words: for example|that is
102 | in spite of: regardless of|despite
103 | in the event: in case|if|when
104 | inactivate: deactivate
105 | information on: information about
106 | information technology: IT
107 | instead of: rather than
108 | insure: ensure
109 | Internet address: IP address|URL|Internet email address|web address
110 | irrecoverable: unrecoverable
111 | jar: compress|archive
112 | keep in mind: remember
113 | key: type|press
114 | laptop: notebook
115 | launch: start|open
116 | left-hand: left
117 | let's: let us
118 | leverage: use
119 | line cord: power cable|power cord
120 | main directory: root directory
121 | memory stick: USB flash drive
122 | microcomputer: PC
123 | motherboard: system board
124 | mouse over: point to|move the mouse pointer over|Mouse|mouse over
125 | network-centric computing: network computing
126 | non-English: in languages other than English|non-English-language
127 | nonrecoverable: unrecoverable
128 | notion: concept
129 | off-premise: on-premises|off-premises|onsite|offsite
130 | offline storage: auxiliary storage
131 | okay: OK
132 | on ramp: access method
133 | on the fly: dynamically|as needed|in real time|immediately
134 | on the other hand: however|alternatively|conversely
135 | on-premise: on-premises|off-premises|onsite|offsite
136 | on-ramp: access method
137 | pain point: challenge|concern|difficulty|issue
138 | parent task: parent process
139 | patch: fix|test fix|interim fix|fix pack|program temporary fix
140 | perimeter network: DMZ
141 | phone: telephone|cell phone|mobile phone
142 | power down: turn on|turn off
143 | power off: turn on|turn off
144 | power on: turn on|turn off
145 | preload: preinstall|preinstalled
146 | preloaded: preinstall|preinstalled
147 | prepend: add a prefix to
148 | prior to: before
149 | recommend: suggest
150 | retry: retry|try again
151 | right double-click: double right-click
152 | right-hand: right
153 | rule of thumb: rule
154 | sanity check: test|evaluate
155 | secondary storage: auxiliary storage
156 | selection button: left mouse button
157 | serial database: nonpartitioned database environment
158 | shift-click: press Shift and click
159 | ship: include|included
160 | Simple Object Access Protocol: SOAP
161 | single quote mark: single quotation mark
162 | single quote: single quotation mark
163 | SME routine: session management exit routine
164 | start up: start
165 | sunset: withdraw from service|withdraw from marketing|discontinue|no longer support
166 | switch off: power on|turn on|power off|turn off
167 | switch on: power on|turn on|power off|turn off
168 | tar: compress|archive
169 | tarball: tar file
170 | terminate: end|stop
171 | thru: through
172 | thumbstick: USB flash drive
173 | thus: therefore
174 | toggle off: toggle
175 | tooling: tools
176 | touchscreen: touch-sensitive screen
177 | transition: make the transition|move|migrate|change
178 | transparent: indiscernible|not visible
179 | typo: typing error|typographical error
180 | uncheck: clear
181 | uncompress: decompress
182 | undeploy: remove|withdraw
183 | unjar: extract
184 | unselect: clear|deselect
185 | untar: extract
186 | unzip: unzip
187 | upward compatible: compatible with later versions
188 | utilize: use
189 | version: create a version|assign a version number
190 | versus: compared to
191 | via: through
192 | warning notice: attention notice
193 | web-enable: enable for the web
194 | webinar: webinar|webcast|web seminar|web-based event
195 | wish: want
196 | zero out: zero
197 | zip: zip|compress
198 |
--------------------------------------------------------------------------------