Skip to content

Commit

Permalink
docs: remove old wiki and update references to point to new docs site
Browse files Browse the repository at this point in the history
  • Loading branch information
chrissimon-au committed Nov 28, 2024
1 parent 3dad509 commit 405adc1
Show file tree
Hide file tree
Showing 24 changed files with 57 additions and 515 deletions.
26 changes: 11 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<img alt="Contextive: Get on the same page." src="images/logo-tagline.png">
</picture>

[![Contextive](https://github.com/dev-cycles/contextive/actions/workflows/contextive.yml/badge.svg)](https://github.com/dev-cycles/contextive/actions/workflows/contextive.yml) [![Mastodon](https://img.shields.io/mastodon/follow/111227986489537355?domain=https%3A%2F%2Ftechhub.social%2F
)](https://techhub.social/@contextive) [![Twitter](https://img.shields.io/twitter/follow/contextive_tech?label=Follow%20Contextive)](https://twitter.com/intent/follow?screen_name=contextive_tech)
[![Contextive](https://github.com/dev-cycles/contextive/actions/workflows/contextive.yml/badge.svg)](https://github.com/dev-cycles/contextive/actions/workflows/contextive.yml) [![Bluesky](https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky&logoColor=fff)](https://bsky.app/profile/contextive.tech) [![Mastodon](https://img.shields.io/mastodon/follow/111227986489537355?domain=https%3A%2F%2Ftechhub.social%2F
)](https://techhub.social/@contextive)

Contextive is a suite of tools to immerse developers in the language of their users' domains.

Expand All @@ -19,29 +19,29 @@ Even if you're not using Domain Driven Design, Contextive should still be very h

By defining terms in a central definitions file, Contextive can surface definitions and usage examples in auto-complete suggestions & hover panels wherever the terms are used - in code (of any language across the stack), comments, config, and documentation (e.g. markdown).

![Example of Contextive in action.](docs/wiki/images/simple-auto-complete-demo.gif)
![Example of Contextive in action.](docs/web/src/assets/images/simple-auto-complete-demo.gif)

Interview introducing Contextive at NDC Sydney 2024:

[![Video Introduction to Contextive](https://img.youtube.com/vi/Y_HzdX7nHo0/0.jpg)](https://www.youtube.com/watch?v=Y_HzdX7nHo0)

[Other Videos referencing Contextive](./docs/wiki/VIDEOS.md)
[Other Videos referencing Contextive](https://docs.contextive.tech/background/videos/)

## Installation

See our [Installation Guide](./docs/wiki/INSTALLATION.md) for details on how to install in a few different IDEs, or any IDE that supports the Language Server Protocol.
See our [Installation Guide](https://docs.contextive.tech/guides/installation/) for details on how to install in a few different IDEs, or any IDE that supports the Language Server Protocol.

Officially supported IDEs include:

#### [VsCode](./docs/wiki/INSTALLATION.md#visual-studio-code)
#### [IntelliJ IDEs](./docs/wiki/INSTALLATION.md#intellij-plugin-platform)
#### [Visual Studio](./docs/wiki/INSTALLATION.md#visual-studio-2022)
#### [Neovim](./docs/wiki/INSTALLATION.md#neovim)
#### [Helix](./docs/wiki/INSTALLATION.md#helix)
#### [VsCode](https://docs.contextive.tech/guides/installation/#visual-studio-code)
#### [IntelliJ IDEs](https://docs.contextive.tech/guides/installation/#intellij-plugin-platform)
#### [Visual Studio](https://docs.contextive.tech/guides/installation/#visual-studio-2022)
#### [Neovim](https://docs.contextive.tech/guides/installation/#neovim)
#### [Helix](https://docs.contextive.tech/guides/installation/#helix)

## Configuration & Usage

See our [Usage Guide](./docs/wiki/USAGE.md) for details on configuring Contextive, setting up your definitions file, and the various features and options available to you in defining your domain-specific terminology.
See our [Usage Guide](https://docs.contextive.tech/guides/usage/) for details on configuring Contextive, setting up your definitions file, and the various features and options available to you in defining your domain-specific terminology.

## Features

Expand Down Expand Up @@ -97,10 +97,6 @@ The following list is a rough and evolving backlog/roadmap. Checked items are c

See [CONTRIBUTING](./CONTRIBUTING.md) for details.

## Logo

The Contextive logo is based (with extreme gratitude!) on the `Bibliophile` image from https://undraw.co - an amazing resource of free images and illustrations.

## License

This project is licensed under the [MIT](https://choosealicense.com/licenses/mit/) license. See [LICENSE](LICENSE).
160 changes: 2 additions & 158 deletions docs/wiki/INSTALLATION.md
Original file line number Diff line number Diff line change
@@ -1,158 +1,2 @@
# Installation

## IDE Plugins/Extensions

For the following IDEs, Contextive can be installed via their plugin/extensions marketplaces.

### Visual Studio Code

Open Visual Studio Code, launch the quick open (`Ctrl+P`) and then enter `ext install devcycles.contextive`. OR, search `contextive` in the extensions side-bar.

Visit the [Contextive Extension](https://marketplace.visualstudio.com/items?itemName=devcycles.contextive) on the [VsCode Marketplace](https://marketplace.visualstudio.com/items?itemName=devcycles.contextive) for details.

Check the extension [README](../../src/vscode/contextive/README.md) for usage instructions.

### IntelliJ Plugin Platform

> [!WARNING]
> This plugin is considered 'beta' status, as leverages relatively new [Language Server Protocol](https://plugins.jetbrains.com/docs/intellij/language-server-protocol.html) support from JetBrains which is still marked as unstable in the IntelliJ Platform API. Some features may not work or may not work as expected. Please [report issues](https://github.com/dev-cycles/contextive/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=) in this project and we will liaise with JetBrains to resolve.
>
> For example, Rider doesn't support C# files when opening a solution, see [#65](https://github.com/dev-cycles/contextive/issues/65)
Open your JetBrains product, e.g. IntelliJ IDEA, or JetBrains Rider, open the Settings dialog and choose "Plugins". Search `contextive` in the Marketplace tab and click the `Install` button.

See JetBrains documentation on [installing plugins](https://www.jetbrains.com/help/idea/managing-plugins.html), and visit the [Contextive Plugin](https://plugins.jetbrains.com/plugin/23928-contextive) on the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/23928-contextive) for details.

Check the plugin [README](../../src/intellij/contextive/README.md) for usage instructions, known issues and links to related JetBrains issues with the Language Server Protocol support.

## Visual Studio 2022

Open Visual Studio 2022. Use the `Extensions` -> `Manage Extensions...` menu option. Search for `Contextive` and click `Install`.

> [!WARNING]
> This plugin is considered 'beta' status, as leverages relatively new [Language Server Protocol](https://learn.microsoft.com/en-us/visualstudio/extensibility/visualstudio.extensibility/language-server-provider/language-server-provider?view=vs-2022) support in the [Preview Extensibility Model](https://learn.microsoft.com/en-us/visualstudio/extensibility/visualstudio.extensibility/?view=vs-2022). Some features may not work or may not work as expected. Please [report issues](https://github.com/dev-cycles/contextive/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=) in this project and we will liaise with Microsoft & the Visual Studio team to resolve.
>
> The main issue for most use cases is that the extension doesn't work when opening a solution file, only when opening a folder. See [Issue #75](https://github.com/dev-cycles/contextive/issues/75) for details.
>
> See [known issues](../../src/visualstudio/contextive/contextive/README.md#known-issues) for others.
## Language Server Configurations

For the following IDEs, you will need to install the Contextive Language Server and then configure the IDE to use it.

#### IDE-specific Configuration

As discussed in the [usage guide](./USAGE.md), the default value of the `contextive.path` setting is: `.contextive/definitions.yml`.

Contextive currently relies on the configuration supplied by the IDE to determine if it should look in a different location - see each IDE's section below for details on how to change the `contextive.path` configuration setting.

You may also need to consult your IDE's documentation on how it determines the `workspace root`, as the default value is a path to the workspace root.

### Neovim

For [Neovim](https://neovim.io/), the Contextive Language Server can be installed via [Mason](https://github.com/williamboman/mason.nvim) by executing the Mason install command in Neovim.

```
:MasonInstall contextive
```

Alternatively, install manually as described [below](#installing-contextive-language-server).

The following configuration requires the `neovim/nvim-lspconfig` plugin, which can be installed and set up by following this [install guide](https://github.com/neovim/nvim-lspconfig#install).

Use lspconfig to setup and initialize the Contextive Language Server configuration. The following lua snippet needs to be included in the `init.lua` file either directly or from another lua module like `lspconfigs.lua`.

```lua
local lspconfig = require("lspconfig")

lspconfig.contextive.setup {}
```

The workspace root will be the first parent folder containing `.contextive` or `.git`.

To enable a custom path for contextive terms, include these settings in the language server setup configuration.

```lua
lspconfig.contextive.setup {
settings = {
contextive = {
path = "./path/to/definitions.yml"
}
}
}
```

For more information on configuring Neovim with Lua modules, see: https://neovim.io/doc/user/lua-guide.html#lua-guide-config

### Helix

For [Helix](https://helix-editor.com/), install the Contextive Language Server manually as described [below](#installing-contextive-language-server).

Then add the following configuration to `~/.config/helix/languages.toml`:

```
[language-server.contextive]
command = "Contextive.LanguageServer"
```

To enable a custom path for contextive terms, include a config parameter in the language server setup configuration:

```
[language-server.contextive]
# The path can be an absolute path, or a path relative to the LSP workspace root.
# See `workspace-lsp-roots` in https://docs.helix-editor.com/master/configuration.html#editor-section for details.
config = { contextive = { path = "/path/to/definitions.yml" } }
command = "Contextive.LanguageServer"
```

Once Contextive is defined as a language sever, it can be added to specific languages, e.g.:

```
[[language]]
name = "typescript"
language-servers = [ { name = "typescript-language-server" }, { name = "contextive" } ]
```

See the [helix language configuration](https://docs.helix-editor.com/languages.html?highlight=roots#language-configuration) for more details, including the `roots` setting which may be needed for non-standard workspace roots.


See [this discussion](https://github.com/helix-editor/helix/discussions/8850) for enabling LSP servers in all files.

### Others

Official support for other IDEs coming soon!

In the meantime, if your IDE supports the Language Server Protocol (LSP) try downloading the Contextive Language Server as described [below](#installing-contextive-language-server) and consult your IDE documentation for how to configure a language server.

If you get it working, we'd love you to submit a PR to this README with instructions on how to get it working your favourite IDE!

## Installing Contextive Language Server


1. Download the appropriate zip file for your operating system and architecture:

```shell
curl -L https://github.com/dev-cycles/contextive/releases/download/<version>/Contextive.LanguageServer-<os>-<arch>-<version>.zip -o Contextive.LanguageServer-<os>-<arch>-<version>.zip
```

OR, manually download the language server asset from the [desired release](https://github.com/dev-cycles/contextive/releases)

2. Unzip the Contextive.LanguageServer and copy the file into a folder that is included in your system's PATH:

Assuming the $HOME/bin directory has been created beforehand and is included in the system's PATH.

```shell
unzip Contextive.LanguageServer-<os>-<arch>-<version>.zip -d contextive-language-server
cp contextive-language-server/Contextive.LanguageServer $HOME/bin
```

3. Verify that Contextive.LanguageServer is found in the PATH. A non-zero exit code indicates that the language server was not found in the PATH:

```shell
command -v Contextive.LanguageServer
```

The command should return the absolute path to the binary if it's found in the system PATH.

4. For IDEs in the officially supported list, check the configuration guides above. Otherwise, consult your IDE's Language Server documentation for details on how to configure a new language server and enable it for all files.
5. Check out our [usage guide](./USAGE.md) for details on configuring and using Contextive.
> [!IMPORTANT]
> This page has been migrated to https://docs.contextive.tech/guides/installation/
Loading

0 comments on commit 405adc1

Please sign in to comment.