Commit Graph

264 Commits

Author SHA1 Message Date
Thiago de Arruda
32f118a47f Implement mch_delay on top of libuv
Needed to temporarily move two static variables from os_unix.c to 'globals.h'
as those are shared by other functions still in os_unix.
2014-03-24 19:25:07 -03:00
Felipe Oliveira Carvalho
ed42c808b6 inline arabic_char() 2014-03-24 18:23:24 -03:00
Felipe Oliveira Carvalho
5c66dfea3c Reformat new function in arabic.c to comply with style guide 2014-03-24 18:23:24 -03:00
Felipe Oliveira Carvalho
8b2a5e678e Move arabic.h #defines from arabic.h to arabic.c
- Move arabic_shape() decl from main.h to arabic.h
 - Move arabic_combine() and arabic_maycombine() from mbyte.c to
   arabic.c as these functions use the #defines I moved.
 - Remove the unnecessary include of arabic.h in globals.h
 - Remove include of arabic.c (sic) in main.c (change CMakeLists.txt to compile
   arabic.c normally)
2014-03-24 18:23:24 -03:00
Felipe Oliveira Carvalho
fd6fd35eef Turn ARABIC_CHAR into a function 2014-03-24 18:23:23 -03:00
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