func checkTMPFile(name string) bool {
	if strings.HasSuffix(strings.ToLower(name), ".tmp") {
		return true
	}
	return false
}
checkTMPFile returns true if the event was for TMP files.
package run
import (
	"io/ioutil"
	"os"
	"os/exec"
	"path"
	"path/filepath"
	"strings"
	"sync"
	"time"
	"github.com/henrylee2cn/erpc/v6"
	"github.com/xiaoenai/tp-micro/v6/micro/create"
	"github.com/xiaoenai/tp-micro/v6/micro/info"
	"github.com/xiaoenai/tp-micro/v6/micro/run/fsnotify"
)
func RunProject(newWatchExts []string, newNotWatch []string) {
	if err := os.Chdir(info.AbsPath()); err != nil {
		erpc.Fatalf("[micro] Jump working directory failed: %v", err)
	}
	if len(newWatchExts) > 0 {
		watchExts = append(newWatchExts, ".go")
	}
	if len(newNotWatch) > 0 {
		notWatch = append(notWatch, newNotWatch...)
	}
	go rewatch()
	erpc.Printf("[micro] Initializing watcher...")
	select {}
}
func getFileModTime(path string) int64 {
	path = strings.Replace(path, "\\", "/", -1)
	f, err := os.Open(path)
	if err != nil {
		erpc.Errorf("[micro] Fail to open file[ %s ]", err)
		return time.Now().Unix()
	}
	defer f.Close()
	fi, err := f.Stat()
	if err != nil {
		erpc.Errorf("[micro] Fail to get file information[ %s ]", err)
		return time.Now().Unix()
	}
	return fi.ModTime().Unix()
}