aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md68
1 files changed, 43 insertions, 25 deletions
diff --git a/README.md b/README.md
index 6ac5eee2e1..dcb94e2751 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,28 @@
# neovim ([bountysource fundraiser](https://www.bountysource.com/fundraisers/539-neovim-first-iteration))
[![Build Status](https://travis-ci.org/neovim/neovim.png?branch=master)](https://travis-ci.org/neovim/neovim)
+[![Stories in Ready](https://badge.waffle.io/neovim/neovim.png?label=ready)](https://waffle.io/neovim/neovim)
+
+* [Introduction](#introduction)
+* [Problem](#problem)
+* [Solution](#solution)
+ * [Migrate to a cmake-based build](#migrate-to-a-cmake-based-build)
+ * [Legacy support and compile-time features](#legacy-support-and-compile-time-features)
+ * [Platform-specific code](#platform-specific-code)
+ * [New plugin architecture](#new-plugin-architecture)
+ * [New GUI architecture](#new-gui-architecture)
+ * [Development on github](#development-on-github)
+* [Status](#status)
+* [Dependencies](#dependencies)
+ * [For Debian/Ubuntu](#for-debianubuntu)
+ * [For FreeBSD 10](#for-freebsd-10)
+ * [For OS X](#for-os-x)
+* [For Arch Linux](#for-arch-linux)
+* [Building](#building)
+* [Community](#community)
+* [Contributing](#contributing)
+* [License](#license)
+
### Introduction
@@ -27,23 +49,14 @@ By achieving those goals new developers will soon join the community, consequent
It is important to emphasize that this is not a project to rewrite vim from scratch or transform it into an IDE (though the new features provided will enable IDE-like distributions of the editor). The changes implemented here should have little impact on vim's editing model or vimscript in general. Most vimscript plugins should continue to work normally.
-The following topics contain brief explanations of the major changes (and motivations) that will be performed in the first iteration:
-
-* <a href="#build"><b>Migrate to a cmake-based build</b></a>
-* <a href="#legacy"><b>Legacy support and compile-time features</b></a>
-* <a href="#platform"><b>Platform-specific code</b></a>
-* <a href="#plugins"><b>New plugin architecture</b></a>
-* <a href="#gui"><b>New GUI architecture</b></a>
-* <a href="#development"><b>Development on github</b></a>
+The following topics contain brief explanations of the major changes (and motivations) that will be performed in the first iteration.
-<a name="build"></a>
##### Migrate to a cmake-based build
The source tree has dozens (if not hundreds) of files dedicated to building vim with on various platforms with different configurations, and many of these files look abandoned or outdated. Most users don't care about selecting individual features and just compile using '--with-features=huge', which still generates an executable that is small enough even for lightweight systems by today's standards.
All those files will be removed and vim will be built using [cmake](http://www.cmake.org), a modern build system that generates build scripts for the most relevant platforms.
-<a name="legacy"></a>
##### Legacy support and compile-time features
Vim has a significant amount of code dedicated to supporting legacy systems and compilers. All that code increases the maintenance burden and will be removed.
@@ -55,14 +68,12 @@ These changes wont affect most users. Those that only have a C89 compiler instal
- Upgrade their software
- Continue using vim
-<a name="platform"></a>
##### Platform-specific code
Most of the platform-specific code will be removed and [libuv](https://github.com/joyent/libuv) will be used to handle system differences.
libuv is a modern multi-platform library with functions to perform common system tasks, and supports most unixes and windows, so the vast majority of vim's community will be covered.
-<a name="plugins"></a>
##### New plugin architecture
All code supporting embedded scripting language interpreters will be replaced by a new plugin system that will support extensions written in any programming language.
@@ -164,7 +175,7 @@ Travis will also be used for continuous integration, so pull requests will be au
Here's a list of things that have been done so far:
- Source tree was cleaned up, leaving only files necessary for compilation/testing of the core.
-- Source files were processed with [unifdef](http://freecode.com/projects/unifdef) to remove tons of FEAT_* macros
+- Source files were processed with [unifdef](http://freecode.com/projects/unifdef) to remove tons of `FEAT_*` macros
- Files were processed with [uncrustify](http://uncrustify.sourceforge.net/) to normalize source code formatting.
- The autotools build system was replaced by [cmake](http://www.cmake.org/)
@@ -172,36 +183,39 @@ and what is currently being worked on:
- Port all IO to libuv
-###Dependencies
+### Dependencies
-For Debian/Ubuntu:
+#### For Debian/Ubuntu:
sudo apt-get install libtool autoconf cmake libncurses5-dev g++
-For FreeBSD 10:
+#### For FreeBSD 10:
sudo pkg install cmake libtool sha
-
-For OsX:
-* Install [Xcode](https://developer.apple.com/)
+#### For OS X:
+
+* Install [Xcode](https://developer.apple.com/) and [Homebrew][http://brew.sh]
* Install sha1sum
+If you run into wget certificate errors, you may be missing the root SSL
+certificates or have not set them up correctly:
+
Via MacPorts:
- sudo port install md5sha1sum cmake libtool automake
+ sudo port install curl-ca-bundle
+ echo CA_CERTIFICATE=/opt/local/share/curl/curl-ca-bundle.crt >> ~/.wgetrc
Via Homebrew:
- brew install md5sha1sum cmake libtool automake
+ brew install curl-ca-bundle
+ echo CA_CERTIFICATE=/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt >> ~/.wgetrc
-For Arch Linux:
+#### For Arch Linux:
sudo pacman -S base-devel cmake ncurses
-
-
-###Building
+### Building
To generate the `Makefile`s:
@@ -211,6 +225,10 @@ To build and run the tests:
make test
+Using Homebrew on Mac:
+
+ brew install neovim/neovim/neovim
+
### Community
Join the community on IRC in #neovim on Freenode.