Giter VIP home page Giter VIP logo

npp4's Introduction

Npp4

A Perforce plugin for Notepad++.

Current Features:

  1. Load/Save Perforce connection configuration.
  2. Add opened file to default changelist.
  3. Revert opened file.
  4. Checkout opened file in default changelist.

Installation

Currently, the only method for installation is by building from source. The plugin will be added to the notepad++ plugin manager when it is prime time.

The project is only built in the Unicode configuration.

Dependencies

Current dependencies are:

  1. nlohmann/json
  2. P4API

No work is required as all headers and binaries are currently checked into git. In the future, these dependencies should be collected by CMake (if anybody knows how to do this, please tell me).

The P4API is on version 2016.2. It would be on a later version, but the Perforce people have a bug in their build system for the API causing certain stub libraries to not be copied to the output.

Install From Source

Building requires cmake and Microsoft Visual Studio.

  1. Open cmake-gui and select the Npp4 source directory. create a new directory /build adjacent to /src and set this as the build directoy. Click configure button and then click generate button. Select the Visual Studio 2015 generator or a later one.

  2. Click the Open Project button. Build the solution.

  3. If the build succeeds, then the look in the build\bin directory for the dll. Copy this to a debugging notepad++ plugins directory or your installed notepad++ plugins directory.

Bugs and Feature Requests

Feel free to use the github tracker. Pull requests are welcome.

npp4's People

Contributors

xmclark avatar

Stargazers

Enno Rehling avatar  avatar

Watchers

James Cloos avatar  avatar

npp4's Issues

Create a config loader

A config loader should inspect a config file in the config directory for the plugin.

The config file should contain all the necessary configuration for creating the p4 connection.

The unserialized data should be easily transferable to a container type.

Serialization back to the config file should automatic (destructor) or require only a a single method during cleanup.

Should look at the implementation of NppConverter which uses a ini file in the plugin config directory.

Setup CMake to get dependencies

CMake should be configured to collect the dependencies manually.
Two dependencies that can be downloaded:

  • modern json (header only)
  • perforce C++ api (header and libs, probably should be configurable)

Create a p4 client

The p4 client should consume the current settings/config and offer p4 basic operations:

  • checkout
  • add
  • revert

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.