# Use consistent logical operators (EK00018)

import { Aside, Badge } from '@astrojs/starlight/components';

Writing "and" or "or" instead of a slash tells readers exactly whether you mean one option, the other, or both. EkLine flags a slash between two words where a spelled-out operator is clearer (rule EK00018).

## Why replace slashes with and or or in documentation?

A slash between two words is a shortcut that hides your intent: `read/write` could mean read and write together, or a choice between them. Spelling out "and" or "or" tells the reader exactly which you mean, so instructions can't be misread. Common technical terms keep their slash because readers already recognize them as single units.

## What EkLine flags

EK00018 matches a slash between two words where "and" or "or" is clearer. Common technical terms such as client/server, I/O, and SSL/TLS are exempt.

- ❌ **Incorrect:** You can start/stop the service.
- ✅ **Correct:** You can start or stop the service.
- ❌ **Incorrect:** Grant the user read/write access.
- ✅ **Correct:** Grant the user read and write access.

## How to fix

Replace the slash with "and" when both apply, or with "or" when only one applies.

<Aside type="note">
Established technical terms such as client/server and SSL/TLS read as single units. Keep them as written and ignore the rule for that line.
</Aside>

## FAQ

### What does a slash between two words mean?

It is ambiguous by design: `read/write` could mean read and write together, or a choice between them. Spelling out the operator removes the guesswork.

### Which slashed terms are exempt from this rule?

Established technical terms such as client/server, I/O, and SSL/TLS read as single units and stay as written.

## Rule details

| Property | Value |
|----------|-------|
| Rule ID | `EK00018` |
| Category | Consistency |
| Default severity | <Badge text="Warning" variant="caution" /> |
| Enabled by default | No |

## Ignore this rule

To keep a slash on one line, add an inline comment:

```markdown
<!-- ekline-ignore-next-line EK00018 -- product name uses a slash -->
Open the Import/Export panel.
```

To disable the rule across your project, add it to the `ignore` list in your [configuration file](/reviewer/configuration/ignoring-rules/#ignore).

## Related rules

- [EK00040](/reviewer/rules/word-choice/) — Use standardized word-list terms
- [EK00042](/reviewer/rules/concise-wording/) — Prefer concise words over complex terms