Commit Graph

259 Commits

Author SHA1 Message Date
John Szakmeister
7bd4d68d93 Don't require busted.
Only provide the unittest target if busted was found.  And only build
nvim-test if the unittest target exists by excluding nvim-test from all.
Note: this means nvim-test won't be built by default, but it will be
built when you try to run unittests.
2014-03-23 05:42:18 -04:00
Thiago de Arruda
9a277a612f Update to the newest libuv version 2014-03-22 09:06:38 -03:00
John Szakmeister
66394367f7 Workaround the broken progress feedback in some versions of CMake.
Underneath the hood, CMake uses libcurl and libcurl has had a number of
issues regarding progress feedback.  In one sample run against Travis
CI, we ended up with nearly 3,000 lines of progress output for a single
download.

Unfortunately, CMake doesn't have the download and extract steps
separate, so we have some extra work that we have to do.  Much of the
content was taken from the ExternalProject.cmake and it's template for
generating the content of the download and extract CMake files.
2014-03-21 15:22:00 -04:00
John Szakmeister
1eed86883b Deal with the missing dependencies for libuv.
Since libuv.pc is broken at the moment, try to determine libuv's
dependencies ourselves.  This ports most of the checks from libuv into
our CMake build, and fixes the build on other unix platforms.
2014-03-21 15:22:00 -04:00
John Szakmeister
0b2f6a0cf4 Revamp the build system.
This achieves several goals:

 * Less reliance on scripts so we have better portability to Windows
   (though we still have a ways to go for proper Windows support).
   Luajit, luarocks, moonscript, and busted are all installed via CMake
   now.
 * Trying to make use of pkg-config to get the correct libraries.  The
   latest libuv is still broken in this regard, but we'll at least be in
   a position to use it.
 * Allow the use of Ninja or make.  The former runs faster in many
   environments, and automatically makes use of parallel builds.

This also allows for system installed dependencies--though not through
the Makefile just yet--and adds support for FreeBSD.

This also make us build libuv and luajit as static libraries only, since
we're only concerned about having static libraries for our bundled
dependencies.
2014-03-21 15:22:00 -04:00
Felipe Oliveira Carvalho
5dd0ce4263 printer_opts was left unitilized after #378 2014-03-21 14:13:27 -03:00
Marcel Krüger
7efc429276 No longer try to use standalone termcap 2014-03-19 21:15:40 +01:00
Tayler Mulligan
002f2327fe Homebrew formula builds dependencies through make
This way, if the dependencies change, and the install process needs to
change to accommodate this, the Homebrew formula won't need revising.
2014-03-19 08:00:15 -03:00
Petter Wahlman
edabc6f4c7 adapt to the style guildelines
semi-automated harvest of low hanging fruit:
change the unorthodox use of whitespace.
2014-03-19 07:53:16 -03:00
Felipe Oliveira Carvalho
59f2430a8d Delete structs.h by spliting it and moving code to other headers
Here's the list of squashed commits (for more info, see PR #378).

 - Define guicolor_T as a typedef in syntax.h
 - Move a big chunk of code from structs.h to buffer_defs.h
 - Move aco_save_T from structs.h to fileio.h
 - Move option_table_T from structs.h to hardcopy.h

	Aditionally:

	 - Move the printer_opts global to hardcopy.c
	 - Delete structs.h. Include buffer_defs.h where structs.h was included
	   before.
	 - Add header guards to option_defs.h

 - Put mark types and constants in new mark_defs.h
 - Move undo structs to undo_defs.h
 - Move memfile structs to new memfile_defs.h
 - Move expand_T and cmdmod_T to ex_cmds_defs.h
 - Move memline_T to memline_defs.h
 - Move many defs and types to ex_eval.h
 - Move syntax related types to syntax_defs.h
 - Move struct memfile to memfile_defs.h
 - struct buffblock and struct buffheader moved back to buffer_defs.h
 - Move some datatypes to hashtab.h and eval_defs.h
 - Move the buffer_defs.h include and TODOs for remaining unrelated types in buffer_defs.h
2014-03-18 20:19:19 -03:00
Tayler Mulligan
1fcd332e8e Removed testing for Homebrew installs
Fixes the luarocks/busted error.  Homebrew isn't exactly being
facilitated, so it's not an ideal solution, but it works.
2014-03-18 19:40:23 -03:00
David Z. Chen
baab238271 Issue #311 - Clean up blowfish.c/h, charset.c/h, diff.c/h, digraph.c/h, garray.c/h, hashtab.c/h, popupmnu.c/h, sha256.c/h, version.c/h. Update uncrustify to move logical operators to the beginning of the line when splitting. Also, clean up arabic.c/h and farsi.c/h 2014-03-16 12:00:41 -03:00
aph
8a6118ccac minimize readme 2014-03-16 11:59:41 -03:00
Thomas Wienecke
1949acc806 Revive vim_fname (-> os_file_exists); fix misuse of mch_getperm.
* Move vim_fname from misc1 to os/fs:os_file_exists.
* Add unit tests for os_file_exists.
* Replace misuse of mch_getperm with os_file_exists.
2014-03-15 11:50:22 -03:00
Thomas Wienecke
c83e8b4dc7 Move and refactor mch_[gs]etperm to os/fs module. 2014-03-15 11:50:22 -03:00
Thomas Wienecke
1f578ec5a1 Add unit tests for mch_[gs]etperm.
Use preprocessor trick proposed by @mahkoh to import 'defines' like
S_IRUSR.
2014-03-15 11:50:22 -03:00
John
231d4511d1 Moved more functions from misc1.c to indent.c 2014-03-15 11:42:27 -03:00
James McCoy
a86b1a129e Use include paths relative to src/
As described in Google's style guide, the basis for Neovim's

> All of a project's header files should be listed as descendants of the
> project's source directory without use of UNIX directory shortcuts .
> (the current directory) or .. (the parent directory).

Add src as an include directory to facilitate this.
2014-03-14 21:54:32 -03:00
James McCoy
046bc5f478 Adapt include guards to the style guide 2014-03-14 21:54:32 -03:00
John
7c51374a82 Extract indent_c.c from misc1.c 2014-03-14 21:19:46 -03:00
Felipe Oliveira Carvalho
d012255ee1 Remove useless sizeof(uint32_t) == 4 test 2014-03-14 21:03:28 -03:00
Felipe Oliveira Carvalho
d38b6933e2 Replace UINT32_T by uint32_t 2014-03-14 21:03:28 -03:00
Felipe Oliveira Carvalho
8b498d94d8 Include <stdint.h> in types.h 2014-03-14 21:03:28 -03:00
Julian Orth
7740bdecea add .vimrc and src/.ycm_extra_conf.py 2014-03-14 20:37:03 -03:00
Thiago de Arruda
c3a88eb8ea Remove remaining hangul-related code 2014-03-14 08:29:47 -03:00
oni-link
7f23ec398d Fix: Use an assert to make sure, an error message can be copied into buffer buf in mch_dirname().
The copied error message is NUL-terminated.
2014-03-13 17:25:22 -03:00
Stefan Hoffmann
33eb031c01 refactored part of expand_env_esc() into mch_get_user_directory() 2014-03-13 17:18:44 -03:00
Stefan Hoffmann
ad77ff53d3 removed get_user_name() and replaced calls with mch_get_user_name() 2014-03-13 17:18:44 -03:00
Stefan Hoffmann
ce31410c79 moved mch_get_user_name() and mch_get_uname() into os/users.c 2014-03-13 17:18:44 -03:00
Stefan Hoffmann
6fd9f090fc refactored logic from init_users() into mch_get_usernames() 2014-03-13 17:18:43 -03:00
Thiago de Arruda
f6ace9962d Refactor travis build to use clang's sanitizers
- Valgrind configuration removed
- Fix errors reported by the undefined behavior sanitizer
- Travis will now run two build steps:
  - A normal build of a shared library for unit testing(in parallel with gcc)
  - A clang build with some sanitizers enabled for integration testing.

After these changes travis will run much faster, while providing valgrind-like
error detection.
2014-03-13 15:26:28 -03:00
Felipe Oliveira Carvalho
3cac32e49c Remove CURSOR_SHAPE #ifdef tests
See issue #333
2014-03-10 05:55:59 -03:00
Felipe Oliveira Carvalho
1684bec635 Extract cursor_shape.c from misc2.c and types/consts from structs.h 2014-03-10 05:55:59 -03:00
Felipe Oliveira Carvalho
6089b26016 Move exarg_T and cmdarg_T from structs.h to normal.h 2014-03-09 09:37:00 -03:00
Felipe Oliveira Carvalho
bd9cd693e7 Extract pos.h from structs.h
This will make it much simpler to move the other types in structs.h
which depend on `pos_T` and `lpos_T`.
2014-03-09 09:37:00 -03:00
Wilberto
b33096127c Change neo* configurations to n* configurations 2014-03-09 09:02:54 -03:00
Stefan Hoffmann
69967ccaba use more verbose output type for unittests on travis 2014-03-08 06:17:59 -03:00
Thomas Wienecke
ab0c96187c Fix bugs, clean code, add tests.
* Add const specifiers, update comments, add assert.
* Move os_unix.moon tests to os/fs.moon + clean tests.
* Add uv_fs_req_cleanup call.
* Add tests with absolute paths to mch_isdir.
* Add to_cstr to test/unit/helpers.moon and fix respective unit tests.
2014-03-07 17:30:39 -03:00
Thomas Wienecke
e59f9872e5 Remove unused return values. 2014-03-07 17:30:39 -03:00
Thomas Wienecke
b552a202f4 Move definition of helper function below their usage. 2014-03-07 17:30:39 -03:00
Thomas Wienecke
9fc67aa7a3 Simplify mch_can_exe extracting is_executable_in_path. 2014-03-07 17:30:39 -03:00
Thomas Wienecke
ef03a8c52a Declare is_executable as static and remove its unit tests.
Testing the public interface mch_can_exe should suffice. Every former
test of is_executable has a counterpart in the tests of mch_can_exe.
Thus we can keep private things private.
2014-03-07 17:30:39 -03:00
Thomas Wienecke
d5b223afe2 Move mch_can_exe, executable_file to os/fs.c.
* Rename executable_file to is_executable.
2014-03-07 17:30:39 -03:00
Thomas Wienecke
1468c12fd1 Add another unit test to mch_can_exe. 2014-03-07 17:30:39 -03:00
Steven Myint
1fb6612dc0 Make script portable across Python versions
Support both Python 2 and 3.
2014-03-07 17:05:43 -03:00
scott-linder
f479abddd7 Added MODIFIED_BY and updated version information. 2014-03-07 16:58:58 -03:00
Thiago de Arruda
80cb604cc8 Fix memory leak in eval7 2014-03-07 15:27:05 -03:00
Thiago de Arruda
2f1a2eb0f2 Fix free_all_mem and EXITFREE definition
Because of the '$' in `if(DEFINED $ENV{VALGRIND_CHECK})` EXITFREE wasn't being
defined, so the `free_all_mem` wasn't being included or called in the resulting
binary.

This commit fixes that, and also adds includes needed for `free_all_mem`
compilation.
2014-03-07 11:58:06 -03:00
David Z. Chen
0412ee7440 Issue #311 - Clean up arabic.c, arabic.h, farsi.c, farsi.h. Tweaks to uncrustify.cfg. 2014-03-07 11:06:02 -03:00
Thiago de Arruda
998541eb04 Remove hangul input support
Vim [documentation](http://vimdoc.sourceforge.net/htmldoc/hangulin.html), says
that hangul support is scheduled to be removed. I think it's safe to say we
don't want to support a feature even vim is considering removing.

Everything still compiles even after removing the header, so it's not being
used.

Before doing the initial import to neovim's repository, I had to tweak this
module to make it compile for terminal. It was a mistake that is now being
corrected.
2014-03-07 09:23:59 -03:00