must_exist,
/// Only do file name expansion, return the complete name even if
/// the file does not exist
- may_not_exist
+ may_not_exist,
+ /// The (image) file may be present with hi-dpi resolution -
+ /// the lookup checks for a file named "image" + "@2x" + ".ext" first.
+ /// If found it will return e.g. "image@2x.png" instead of "image.png".
+ /// Otherwise it will work as must_exist.
+ check_hidpi
};
/** Returns the real name of file name in directory path, with optional
*/
bool isValidDVIFileName(std::string const & filename);
+/// check whether the file has binary contents
+bool isBinaryFile(FileName const & filename);
+
/** Returns the path of a library data file.
Search the file name.ext in the subdirectory dir of
-# user_lyxdir
*/
FileName const libFileSearch(std::string const & dir,
std::string const & name,
- std::string const & ext = std::string());
+ std::string const & ext = std::string(),
+ search_mode mode = must_exist);
/** Same as libFileSearch(), but tries first to find an
internationalized version of the file by prepending $LANG_ to the
*/
FileName const
imageLibFileSearch(std::string & dir, std::string const & name,
- std::string const & ext = std::string());
+ std::string const & ext = std::string(),
+ search_mode mode = must_exist);
/// How to quote a filename
enum quote_style {
/** Quote for the (OS dependant) shell. This is needed for command
line arguments of subprocesses. */
quote_shell,
+ /** Quote a file name for the (OS dependant) shell. This is needed
+ for file names as command line arguments of subprocesses. */
+ quote_shell_filename,
/** Quote for python. Use this if you want to store a filename in a
python script. Example: \code
os << "infile = " << quoteName(filename) << '\\n';
* command will still fail, but the error message will make some sort of
* sense ;-)
*/
-std::string const libScriptSearch(std::string const & command,
- quote_style style = quote_shell);
+std::string const commandPrep(std::string const & command);
enum latex_path_extension {
PROTECT_EXTENSION,
*/
std::string const replaceEnvironmentPath(std::string const & path);
+/**
+ Return a string to be used as a prefix to a command for setting the
+ environment of the TeX engine with respect to the path \p path.
+ */
+std::string latexEnvCmdPrefix(std::string const & path);
+
/** Replace all references to a current directory (a lonely '.' or
the prefix "./") in \c pathlist with \c path. Also prefixes
all non-absolute paths with \c path.
FileName const findtexfile(std::string const & fil,
std::string const & format);
-/// read the BoundingBox entry from a ps/eps/pdf-file
-std::string const readBB_from_PSFile(FileName const & file);
-
/** \param file1, file2 the two files to be compared. Must have absolute paths.
* \returns 1 if \c file1 has a more recent timestamp than \c file2,
* 0 if their timestamps are the same,
bool prefs2prefs(FileName const & filename, FileName const & tempfile,
bool lfuns);
+/// Does file \p file need to be updated by configure.py?
+bool configFileNeedsUpdate(std::string const & file);
+
typedef std::pair<int, std::string> cmd_ret;
cmd_ret const runCommand(std::string const & cmd);
+int fileLock(const char * lock_file);
+void fileUnlock(int fd, const char * lock_file);
} // namespace support
} // namespace lyx