aboutsummaryrefslogtreecommitdiff
path: root/src/os/fs.c
Commit message (Collapse)AuthorAge
* Introduce nvim namespace: Move files.Eliseo Martínez2014-05-15
| | | | | | Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.
* implemented FileInfo structStefan Hoffmann2014-05-09
| | | | | | | This struct is a wrapper around `uv_stat_t` to hide the stat information inside `src/os/`. The stat file attribute will be private after all refactorings concerning file informations are done.
* implemented os_file_get_size()Stefan Hoffmann2014-05-09
|
* replaced `vim_free()` calls with `free()` callsMatthias Beyer2014-05-05
|
* revert #652Justin M. Keyes2014-05-01
| | | | | | | reverting broad cosmetic/style change because: - increases merge-conflicts - increases overhead of merging upstream Vim patches - reasons for change are ambiguous, so default to no change
* Remove NUL macroMarco Hinz2014-04-29
|
* port vim_mkdir, mch_rmdir and mch_remove to libuvStefan Hoffmann2014-04-11
|
* Move exe functions back to os/fs.cJohn Schmidt2014-04-08
|
* Move functions from os/fs.c into path.cJohn Schmidt2014-04-08
| | | | Move unit tests from os/fs.moon to path.moon
* Use stdbool in os moduleHinidu2014-04-07
|
* Remove simpler cases of OOM error handling (after *alloc calls)Felipe Oliveira Carvalho2014-04-06
| | | | | | | | | | | | | | | | | | By simpler cases I mean cases where the OOM error is not expected to be handled by the caller of the function that calls `alloc`, `lalloc`, `xrealloc`, `xmalloc`, `alloc_clear`, and `lalloc_clear`. These are the functions that: - Do not return an allocated buffer - Have OOM as the only error condition I took note of the functions that expect the caller to handle the OOM error and will go through them to check all the callers that may be handling OOM error in future commits. I'm ignoring eval.c and ex_.c in this series of commits. eval.c will soon be obsolete and I will deal with ex_.c in later PRs.
* Extract memory.c from misc2.cJohn Schmidt2014-04-04
|
* Replace mch_rename and vim_rename with libuvHinidu2014-04-04
|
* Add os_stat to os/fs module.Thomas Wienecke2014-04-03
|
* added doxygen documentation for os_file_is_{readonly, writable}Stefan Hoffmann2014-04-03
|
* remove mch_access macro as it is only used in fs.cStefan Hoffmann2014-04-03
|
* move filewritable() into /src/os/fs.c and rename itStefan Hoffmann2014-04-03
|
* move check_file_readonly() into /src/os/fs.c and rename itStefan Hoffmann2014-04-03
|
* Add doxygen-style comments to functions from os/fs.c.Thomas Wienecke2014-03-31
|
* Address clint warnings and other style issues.Thomas Wienecke2014-03-27
| | | | | | | * Add const. * Fix conditions (move && from end to start of line). * Use int32_t instead of long. * Use //-style comments.
* Rename mch_* functions to os_* in os module.Thomas Wienecke2014-03-27
|
* Update to the newest libuv versionThiago de Arruda2014-03-22
|
* Revive vim_fname (-> os_file_exists); fix misuse of mch_getperm.Thomas Wienecke2014-03-15
| | | | | | * 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.
* Move and refactor mch_[gs]etperm to os/fs module.Thomas Wienecke2014-03-15
|
* Use include paths relative to src/James McCoy2014-03-14
| | | | | | | | | | 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.
* Fix: Use an assert to make sure, an error message can be copied into buffer ↵oni-link2014-03-13
| | | | | | buf in mch_dirname(). The copied error message is NUL-terminated.
* Fix bugs, clean code, add tests.Thomas Wienecke2014-03-07
| | | | | | | | * 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.
* Remove unused return values.Thomas Wienecke2014-03-07
|
* Move definition of helper function below their usage.Thomas Wienecke2014-03-07
|
* Simplify mch_can_exe extracting is_executable_in_path.Thomas Wienecke2014-03-07
|
* Declare is_executable as static and remove its unit tests.Thomas Wienecke2014-03-07
| | | | | | 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.
* Move mch_can_exe, executable_file to os/fs.c.Thomas Wienecke2014-03-07
| | | | * Rename executable_file to is_executable.
* Fix memory leak and enable valgrind on travisThiago de Arruda2014-03-07
|
* Fix style issues.Thomas Wienecke2014-03-06
| | | | | | | | * Rename mch_full_name to mch_get_absolute_path. * Rename mch_is_full_name to mch_is_absolute_path. * Add a lot of missing parentheses. * Remove yoda-conditions for consistency. * Remove spaces in function declaration.
* Port mch_isdir to libuv.Thomas Wienecke2014-03-05
|
* Rename and refactor mch_FullName.Thomas Wienecke2014-03-04
| | | | | | | | | * Rename mch_FullName to mch_full_name to match the style guide. * Add mch_full_dir_name, which saves the absolute path of a given directory relative to cwd into a given buffer. * Add function append_path, which glues together two given paths with a slash. * Adapt moonscript coding style to the tests.
* Remove implicit declaration of vim_strrchr and vim_strncpyScott Nielsen2014-02-26
|
* Removes 'proto' dirscott-linder2014-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #137 for the issue. Every header in the proto directory was: * Given include guards in the form #ifndef NEOVIM_FILENAME_H #define NEOVIM_FILENAME_H ... #endif /* NEOVIM_FILENAM_H */ * Renamed from *.pro -> *.h * Moved from src/proto/ to src/ This would have caused conficts with some existing headers in src/; rather than merge these conflicts now (which is a whole other can of worms involving multiple and conditional inclusion), any header in src/ with a conflicting name was renamed from *.h -> *_defs.h (which may or may not actually describe its purpose, the change is purely a namespacing issue). Once all of these changes were made a script was developed to determine what #includes needed to be added to each source file to describe its dependencies and allow it to compile; because the script is so short and I'll just list it here: #! /bin/bash cd $(dirname $0) # Scrapes `make` output for provided error messages and outputs #includes # needed to resolve them. # $1 : part of the clang error message between filename and identifier list_missing_includes() { for file_missing_pair in $(CC=clang make 2>&1 >/dev/null | sed -n "s/\/\(.*\.[hc]\).*$1.*'\(.*\)'.*/\1:\2/p"); do fields=(${file_missing_pair//:/ }) source_file=${fields[0]} missing_func=${fields[1]} # Try to find the declaration of the missing function. echo $(basename $source_file) \ \#include \"$(grep -r "\b$missing_func __ARGS" | sed -n "s/.*\/\(.*\)\:.*/\1/p")\" # Remove duplicates done | sort | uniq } echo "Finding missing function prototypes..." list_missing_includes "implicit declaration of function" echo "Finding missing identifier declarations..." list_missing_includes "use of undeclared identifier" Each list of required headers was added by hand in the following format: #include "vim.h" #include "*_defs.h" #include "filename.h" /* All other includes in same module here, in alphabetical order. */ /* All includes from other modules (e.g. "os/*.h") here in alphabetical * order. */
* os_unix: Port mch_FullName and mch_isFullName to libuv.Thomas Wienecke2014-02-25
| | | | | Basically just delete conditional use of fchdir, since the other called mch_* functions are already ported to libuv.
* os_unix: Use libuv uv_cwd instead of getcwd/getwd.Thomas Wienecke2014-02-25
|
* Create new OS moduleThiago de Arruda2014-02-24
This module will contain all functions that perform OS calls such as IO, filesystem access, etc.