From cdcf953259aee5e7e1a06855ddbedbaabf585bc9 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Jan 2016 09:19:14 +0800 Subject: rename script directory to core --- xmake/core/base/path.lua | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 xmake/core/base/path.lua (limited to 'xmake/core/base/path.lua') diff --git a/xmake/core/base/path.lua b/xmake/core/base/path.lua new file mode 100644 index 000000000..eb35283b2 --- /dev/null +++ b/xmake/core/base/path.lua @@ -0,0 +1,72 @@ +--!The Automatic Cross-platform Build Tool +-- +-- XMake is free software; you can redistribute it and/or modify +-- it under the terms of the GNU Lesser General Public License as published by +-- the Free Software Foundation; either version 2.1 of the License, or +-- (at your option) any later version. +-- +-- XMake is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public License +-- along with XMake; +-- If not, see http://www.gnu.org/licenses/ +-- +-- Copyright (C) 2009 - 2015, ruki All rights reserved. +-- +-- @author ruki +-- @file path.lua +-- + +-- define module: path +local path = path or {} + +-- load modules +local string = require("base/string") + +-- get the directory of the path +function path.directory(p) + local i = p:find_last("[/\\]") + if i then + if i > 1 then i = i - 1 end + return p:sub(1, i) + else + return "." + end +end + +-- get the filename of the path +function path.filename(p) + local i = p:find_last("[/\\]") + if i then + return p:sub(i + 1) + else + return p + end +end + +-- get the basename of the path +function path.basename(p) + local name = path.filename(p) + local i = name:find_last(".", true) + if i then + return name:sub(1, i - 1) + else + return name + end +end + +-- get the file extension of the path: .xxx +function path.extension(p) + local i = p:find_last(".", true) + if i then + return p:sub(i) + else + return "" + end +end + +-- return module: path +return path -- cgit v1.3.1