Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
sjoshid committed Oct 21, 2018
2 parents 10be0b0 + 58be28a commit be4d04f
Show file tree
Hide file tree
Showing 88 changed files with 5,213 additions and 1,997 deletions.
35 changes: 35 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
env:
CARGO_HOME: /tmp/cargo

task:
matrix:
- install_cmake_script: apt-get update && apt-get install -y cmake
matrix:
- name: test (linux)
container:
image: rust:latest
cpu: 4
memory: 8G
- name: test (linux nightly)
allow_failures: true
container:
image: rustlang/rust:nightly
cpu: 4
memory: 8G
- osx_instance:
image: high-sierra-xcode-9.4
env:
PATH: $PATH:$CARGO_HOME/bin
install_cmake_script: brew install cmake
matrix:
- name: test (macOS)
install_rust_script: curl https://sh.rustup.rs -sSf | sh -s -- -y
- name: test (macOS nightly)
allow_failures: true
install_rust_script: curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly
cargo_cache:
folder: $CARGO_HOME/registry
fingerprint_script: cat rust/Cargo.lock
build_script: cd rust && cargo build --verbose --all --jobs 4
test_script: cd rust && cargo test --verbose --all --jobs 4
before_cache_script: rm -rf $CARGO_HOME/registry/index
5 changes: 4 additions & 1 deletion CONTRIBUTING.md → .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@ follow the [Code of Conduct](https://github.com/xi-editor/xi-editor/blob/master/
- [Improving and reviewing docs](#improving-and-reviewing-docs)
- [Reviewing and testing changes](#reviewing-and-testing-changes)
- [Proposing and making changes](#proposing-and-making-changes)
- [Finding something to work on](#finding-something-to-work-on)
- [Finding something to work on](#finding-something-to-work-on)
- [Before you start](#before-you-start-work)
- [Before you open your PR](#before-you-open-your-pr)
- [Review process](#review-process)
- [After submitting your change](#after-submitting-your-change)
- [Getting more involved](#getting-more-involved)

## Getting started

### Very first steps

Not sure where to start? If you haven't already, take a look at the
[docs](http://xi-editor.github.io/xi-editor/docs.html) to get a better
sense of the project. Read through some issues and some open PRs, to
Expand Down
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Xi-Editor Issue Template
- [ ] I have searched existing issues and could not find my issue.
- [ ] I have studied the documentation.

<!---
Please ensure the issue meets these requirements. If you are not sure, questions are welcome on the #xi chatroom on irc.mozilla.org.
--->
## Details

_If your issue is a build or runtime error, please include the following:_
- OS / platform (e.g. macOS 10.13.2)
- rust compiler version (`rustc --version`) (we test against the latest
stable release)
- rust compiler installation method (e.g. rustup, homebrew, source)
- the frontend you're using, if applicable
- the commit you're on, if building from source (`#3a2405b`)
- a full backtrace or error message, if available

## Expected vs Actual
When describing an issue, it is very helpful to first describe expected behavior, followed by the actual functionality. See the following example:

_Note that backticks can be used to escape code both inline and in blocks._


Expected `xi-core -v` to provide version.
```
$ xi-core -v
xi-core 0.2.0
```

Actual: xi-core skips printing out the version and starts taking input
```
$ xi-core -v
<-------- xi-core waits on input there
```
42 changes: 42 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<!---
Welcome to the xi-editor project! We're very excited for your contribution to become a part of the editor.
This template provides some basic instructions on how to format a pull request, so we can more easily understand it.
Anything within this commented block will not be a part of the visible text.
The first part of your pull request should be a summary describing its intent. This is also an appropriate place to explain the motivation behind the changes it introduces.
--->
## Summary
Example: `Add a pull request template. This will make it easier for newcomers to contribute to the project with confidence.`



<!---
Give reviewers and interested parties a good idea of how this is related to other issues or pull requests.
--->
## Related Issues
Example: `Related to #1`

<!---
GitHub has built-in functionality for closing issues when PR's are merged. TLDR: `closes #1` closes issue number 1 when the PR merges.
See [closing issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/) for more info.
--->
Example: `closes #2`

<!---
Checklists are a useful tool for tracking your progress with longer pull requests. It gives reviewers a clear idea of how far you've come, and what can be reviewed. It's also fun to check off those boxes!
--->
## Checklist
Example:

- [ ] Example check-list item
- [x] Create a pull request template
- [ ] make xi perfect

## Review Checklist
<!---
Here is a list of the things everyone should make sure they do before they want their PR to be merged.
--->
- [ ] I have responded to reviews and made changes where appropriate.
- [ ] I have tested the code with `cargo test --all` / `./rust/run_all_checks`.
- [ ] I have updated comments / documentation related to the changes I made.
- [ ] I have rebased my PR branch onto xi-editor/master.
7 changes: 7 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,18 @@ rust:
os:
- linux
- osx
- windows

matrix:
allow_failures:
- rust: nightly
- os: windows

# on windows, rustup installs the msvc toolchain by default so we need link.exe
before_script:
- if [ "$TRAVIS_OS_NAME" = 'windows' ]; then choco install windows-sdk-10.0; fi

# windows builds run in git bash so these (should) Just Work
cache:
directories:
- $HOME/.cargo
Expand Down
2 changes: 2 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,5 @@ Pranjal Paliwal
Araz Abishov
Lê Viết Hoàng Dũng
Markus Ast
Raph Levien
Hilmar Gústafsson
8 changes: 0 additions & 8 deletions ISSUE_TEMPLATE.md

This file was deleted.

55 changes: 33 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
<h1 align="center">
<a href="https://github.com/google/xi-editor"><img src="icons/xi-editor.png" alt="Xi Editor" width="256" height="256"/></a><br>
<a href="https://github.com/google/xi-editor">Xi Editor</a>
<a href="https://github.com/xi-editor/xi-editor"><img src="icons/xi-editor.png" alt="Xi Editor" width="256" height="256"/></a><br>
<a href="https://github.com/xi-editor/xi-editor">Xi Editor</a>
</h1>

<p align="center"><em>(pronounced "Zigh")</em></p>

<h4 align="center">A modern editor with a backend written in Rust.</h4>

The xi editor project is an attempt to build a high quality text editor,
***Note:*** *This is repo contains only the editor core, which is not usable on its own. For editors based on it, check out the list in [Frontends](#frontends).*

The xi-editor project is an attempt to build a high quality text editor,
using modern software engineering techniques. It is initially built for
Mac OS X, using Cocoa for the user interface. There are also frontends for
other operating systems available from third-party developers.
Expand All @@ -27,36 +29,40 @@ Goals include:
* ***Developer friendliness***. It should be easy to customize xi editor, whether
by adding plug-ins or hacking on the core.

Please refer to the [November 2017 roadmap](https://github.com/google/xi-editor/issues/437)
to learn more about planned features.
**Learn more** with the creator of Xi, Raph Levien, in this [Recurse Center Localhost talk](https://www.recurse.com/events/localhost-raph-levien
).

Screenshot (will need to be updated as syntax coloring and UI polish is added):

![xi screenshot](/docs/docs/img/xi-mac-screenshot.png?raw=true)
![xi-mac screenshot](/docs/docs/img/xi-mac-screenshot.png?raw=true)


## Getting started

This repository is the core only. You'll also need a front-end, from the list
below.


### Building the core

Xi targets 'recent stable Rust'. We recommend installing via [rustup](https://www.rustup.rs).
Xi-editor targets 'recent stable Rust'. We recommend installing via [rustup](https://www.rustup.rs).
The current minimum supported version is 1.28.

To build the xi editor from the root directory of this repo:
To build the xi-editor core from the root directory of this repo:

```
> cd rust
> cargo build
```

Here are some other front-ends in various stages of development:

* [xi-mac](https://github.com/google/xi-mac), the official macOS front-end.
## Frontends

Here are some front-ends in various stages of development:

* [fuchsia/xi](https://fuchsia.googlesource.com/topaz/+/master/bin/xi/), a front-end in Flutter for Fuchsia,
and might work on other Flutter targets.
* [xi-mac](https://github.com/xi-editor/xi-mac), the official macOS front-end.

* [fuchsia/xi](https://fuchsia.googlesource.com/topaz/+/master/bin/xi/), a front-end in Flutter for Fuchsia.

* [xi-gtk](https://github.com/eyelash/xi-gtk), a GTK+ front-end.

Expand All @@ -66,7 +72,7 @@ and might work on other Flutter targets.

* [gxi](https://github.com/bvinc/gxi), a GTK+ front-end written in Rust.

* [xi-win](https://github.com/google/xi-win), an experimental Windows front-end written in Rust.
* [xi-win](https://github.com/xi-editor/xi-win), an experimental Windows front-end written in Rust.

* [kod](https://github.com/linde12/kod), a terminal frontend written in Golang.

Expand All @@ -87,6 +93,7 @@ documentation at this point) on the protocol at
[frontend.md](https://xi-editor.github.io/xi-editor/docs/frontend-protocol.html). If you're working on a front-end, feel free to
send a PR to add it to the above list.


## Design decisions

Here are some of the design decisions, and motivation why they should
Expand Down Expand Up @@ -132,6 +139,7 @@ contribute to the above goals:
languages, and there are plenty of the libraries available for the other
ones.


## Current status

This is still a project in its early stages. The Mac build has basic editing
Expand All @@ -140,21 +148,24 @@ is still missing essentials such as auto-indent. At the moment, it’s expected
that its main community will be developers interested in hacking on a text
editor.


## Authors

The main author is Raph Levien.
The xi-editor project was started by Raph Levien but has since received
contributions from a number of other people. See the [AUTHORS](AUTHORS)
file for details.


## License

This project is licensed under the Apache 2 [license](LICENSE).


## Contributions

We gladly accept contributions via GitHub pull requests, as long as the author
has signed the Google Contributor License. Please see
[CONTRIBUTING.md](CONTRIBUTING.md) for more details.
We gladly accept contributions via GitHub pull requests. Please see
[CONTRIBUTING.md](.github/CONTRIBUTING.md) for more details.

If you are interested in contributing but not sure where to start, there is
an active IRC channel at #xi on irc.mozilla.org. There is also a subreddit at
[/r/xi_editor](https://www.reddit.com/r/xi_editor/).

### Disclaimer

This is not an official Google product (experimental or otherwise), it
is just code that happens to be owned by Google.
Loading

0 comments on commit be4d04f

Please sign in to comment.